技巧分享
React 父子组件状态同步的回调模式实现
创建于 2026/7/15更新于 2026/7/15
React
State Management
Callback Pattern
技巧
## 问题描述 子组件(如 TaskBoard、TechDecisionPanel)更新了本地状态,但父组件(ProjectDetailClient)没有反映变化,导致 UI 不一致。 ## 根本原因 父组件通过 props 传递初始数据,但子组件使用 useState 管理自己的状态,子组件的状态变化不会自动传递回父组件。 ## 解决方案 实现回调式状态同步: 1. 父组件定义 onTasksUpdate/onDecisionsUpdate 回调函数 2. 通过 props 将回调传递给子组件 3. 子组件在状态变化时调用回调函数 4. 父组件收到回调后更新自己的状态 ## 关键代码示例 ```tsx // Parent const handleTasksUpdate = (updatedTasks) => { setTasks(updatedTasks); }; <TaskBoard tasks={tasks} onTasksUpdate={handleTasksUpdate} /> // Child const updateTasks = (newTasks) => { setTaskList(newTasks); onTasksUpdate?.(newTasks); }; ```
关联知识资产
TIP
资产 ID: 5ad07fa8-c43b-4c77-a41d-cdae072118ce