refactor(MCPSettings): replace MainContent callback with useMemo for performance optimization

This commit is contained in:
lizhixuan 2025-04-04 18:46:31 +08:00 committed by 亢奋猫
parent 773c0da9ef
commit ef8250ab72

View File

@ -11,7 +11,7 @@ import { EventEmitter } from '@renderer/services/EventService'
import { MCPServer } from '@renderer/types' import { MCPServer } from '@renderer/types'
import { Dropdown, MenuProps } from 'antd' import { Dropdown, MenuProps } from 'antd'
import { isEmpty } from 'lodash' import { isEmpty } from 'lodash'
import { FC, useCallback, useEffect, useState } from 'react' import { FC, useCallback, useEffect, useMemo, useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import styled from 'styled-components' import styled from 'styled-components'
@ -88,7 +88,7 @@ const MCPSettings: FC = () => {
setSelectedMcpServer(_selectedMcpServer || mcpServers[0]) setSelectedMcpServer(_selectedMcpServer || mcpServers[0])
}, [mcpServers, route, selectedMcpServer]) }, [mcpServers, route, selectedMcpServer])
const MainContent = useCallback(() => { const MainContent = useMemo(() => {
if (route === 'npx-search' || isEmpty(mcpServers)) { if (route === 'npx-search' || isEmpty(mcpServers)) {
return ( return (
<SettingContainer theme={theme}> <SettingContainer theme={theme}>
@ -104,7 +104,6 @@ const MCPSettings: FC = () => {
</SettingContainer> </SettingContainer>
) )
} }
if (selectedMcpServer) { if (selectedMcpServer) {
return <McpSettings server={selectedMcpServer} /> return <McpSettings server={selectedMcpServer} />
} }
@ -153,7 +152,7 @@ const MCPSettings: FC = () => {
)} )}
</DragableList> </DragableList>
</McpList> </McpList>
<MainContent /> {MainContent}
</Container> </Container>
) )
} }