fix: 修复 CompanyOverview 中 Hooks 顺序错误
问题:在 JSX 内部调用 useColorModeValue,违反 React Hooks 规则 - 第 1377/1388/1786/1797 行直接在 JSX 属性中调用 hook 修复:将 useColorModeValue 调用移到组件顶层 - 添加 blueBg/greenBg/purpleBg/orangeBg 变量 - JSX 中使用变量代替直接调用 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -910,6 +910,11 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
|
||||
const toast = useToast();
|
||||
const bgColor = useColorModeValue('gray.50', 'gray.900');
|
||||
const cardBg = useColorModeValue('white', 'gray.800');
|
||||
// 高亮区域颜色(修复:不能在 JSX 中调用 hooks)
|
||||
const blueBg = useColorModeValue('blue.50', 'blue.900');
|
||||
const greenBg = useColorModeValue('green.50', 'green.900');
|
||||
const purpleBg = useColorModeValue('purple.50', 'purple.900');
|
||||
const orangeBg = useColorModeValue('orange.50', 'orange.900');
|
||||
const { isOpen: isAnnouncementOpen, onOpen: onAnnouncementOpen, onClose: onAnnouncementClose } = useDisclosure();
|
||||
const [selectedAnnouncement, setSelectedAnnouncement] = useState(null);
|
||||
|
||||
@@ -1374,7 +1379,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
|
||||
<GridItem colSpan={{ base: 2, md: 1 }}>
|
||||
<VStack align="stretch" spacing={3}>
|
||||
<Text fontWeight="bold" fontSize="sm" color="gray.600">投资亮点</Text>
|
||||
<Box p={3} bg={useColorModeValue('blue.50', 'blue.900')} borderRadius="md">
|
||||
<Box p={3} bg={blueBg} borderRadius="md">
|
||||
<Text fontSize="sm" whiteSpace="pre-wrap">
|
||||
{comprehensiveData.qualitative_analysis.core_positioning?.investment_highlights || '暂无数据'}
|
||||
</Text>
|
||||
@@ -1385,7 +1390,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
|
||||
<GridItem colSpan={{ base: 2, md: 1 }}>
|
||||
<VStack align="stretch" spacing={3}>
|
||||
<Text fontWeight="bold" fontSize="sm" color="gray.600">商业模式</Text>
|
||||
<Box p={3} bg={useColorModeValue('green.50', 'green.900')} borderRadius="md">
|
||||
<Box p={3} bg={greenBg} borderRadius="md">
|
||||
<Text fontSize="sm" whiteSpace="pre-wrap">
|
||||
{comprehensiveData.qualitative_analysis.core_positioning?.business_model_desc || '暂无数据'}
|
||||
</Text>
|
||||
@@ -1783,7 +1788,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
|
||||
<GridItem colSpan={{ base: 2, md: 1 }}>
|
||||
<VStack align="stretch" spacing={3}>
|
||||
<Text fontWeight="bold" fontSize="sm" color="gray.600">战略方向</Text>
|
||||
<Box p={4} bg={useColorModeValue('purple.50', 'purple.900')} borderRadius="md">
|
||||
<Box p={4} bg={purpleBg} borderRadius="md">
|
||||
<Text fontSize="sm">
|
||||
{comprehensiveData.qualitative_analysis.strategy.strategy_description || '暂无数据'}
|
||||
</Text>
|
||||
@@ -1794,7 +1799,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
|
||||
<GridItem colSpan={{ base: 2, md: 1 }}>
|
||||
<VStack align="stretch" spacing={3}>
|
||||
<Text fontWeight="bold" fontSize="sm" color="gray.600">战略举措</Text>
|
||||
<Box p={4} bg={useColorModeValue('orange.50', 'orange.900')} borderRadius="md">
|
||||
<Box p={4} bg={orangeBg} borderRadius="md">
|
||||
<Text fontSize="sm">
|
||||
{comprehensiveData.qualitative_analysis.strategy.strategic_initiatives || '暂无数据'}
|
||||
</Text>
|
||||
|
||||
Reference in New Issue
Block a user