diff --git a/src/renderer/src/hooks/useTopic.ts b/src/renderer/src/hooks/useTopic.ts index e8b9077690..abb22cc921 100644 --- a/src/renderer/src/hooks/useTopic.ts +++ b/src/renderer/src/hooks/useTopic.ts @@ -34,7 +34,14 @@ export function useActiveTopic(assistantId: string, topic?: Topic) { useEffect(() => { // activeTopic not in assistant.topics - if (assistant && assistant.topics.length > 0 && !find(assistant.topics, { id: activeTopic?.id })) { + // 确保 assistant 和 assistant.topics 存在,避免在数据未完全加载时访问属性 + if ( + assistant && + assistant.topics && + Array.isArray(assistant.topics) && + assistant.topics.length > 0 && + !find(assistant.topics, { id: activeTopic?.id }) + ) { setActiveTopic(assistant.topics[0]) } }, [activeTopic?.id, assistant])