Nic*_*ter 5 javascript reactjs react-component react-state-management react-hooks
我很好奇setState作为道具传递给孩子(哑组件)是否违反了任何“最佳实践”或会影响优化。
下面是一个例子,我有父容器的传球state和setState两个子组件,其中,子组件会调用该setState函数。
我没有明确调用setState孩子,他们引用一个服务来处理状态属性的正确设置。
export default function Dashboard() {
const [state, setState] = useState({
events: {},
filters: [],
allEvents: [],
historical: false,
});
return (
<Grid>
<Row>
<Col>
<EventsFilter
state={state}
setState={setState}
/>
<EventsTable
state={state}
setState={setState}
/>
</Col>
</Row>
</Grid>
)
}
Run Code Online (Sandbox Code Playgroud)
仪表板 setState 服务示例
function actions(setState) {
const set = setState;
return function () {
return ({
setEvents: (events) => set((prev) => ({
...prev,
events,
})),
setAllEvents: (allEvents) => set((prev) => ({
...prev,
allEvents,
})),
setFilters: (name, value) => set((prev) =>
({
...prev,
filters
})
),
})
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我还没有注意到任何状态问题。
一个好的做法是创建一个处理程序函数,该setState函数委托给该函数并将该函数传递给子组件。
| 归档时间: |
|
| 查看次数: |
10645 次 |
| 最近记录: |