- BusinessInfoPanel: 改为内部调用 useBasicInfo,自行获取数据
- BasicInfoTab: 移除 basicInfo prop 传递
- CompanyOverview: 移除顶层 useBasicInfo 调用
- types.ts: 补充 BasicInfo 工商信息字段类型定义
修复前:CompanyOverview 和各子组件重复请求 /api/stock/{code}/basic-info
修复后:仅 BusinessInfoPanel 在需要时请求一次
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
32 lines
884 B
TypeScript
32 lines
884 B
TypeScript
// src/views/Company/components/CompanyOverview/index.tsx
|
||
// 公司档案 - 主组件(组合层)
|
||
|
||
import React from "react";
|
||
import { VStack } from "@chakra-ui/react";
|
||
|
||
import type { CompanyOverviewProps } from "./types";
|
||
|
||
// 子组件
|
||
import BasicInfoTab from "./BasicInfoTab";
|
||
|
||
/**
|
||
* 公司档案组件
|
||
*
|
||
* 功能:
|
||
* - 显示基本信息 Tab(内部懒加载各子 Tab 数据)
|
||
*
|
||
* 懒加载策略:
|
||
* - BasicInfoTab 内部根据 Tab 切换懒加载数据
|
||
* - 各 Panel 组件自行获取所需数据(如 BusinessInfoPanel 调用 useBasicInfo)
|
||
*/
|
||
const CompanyOverview: React.FC<CompanyOverviewProps> = ({ stockCode }) => {
|
||
return (
|
||
<VStack spacing={6} align="stretch">
|
||
{/* 基本信息内容 - 传入 stockCode,内部懒加载各 Tab 数据 */}
|
||
<BasicInfoTab stockCode={stockCode} />
|
||
</VStack>
|
||
);
|
||
};
|
||
|
||
export default CompanyOverview;
|