将调度作为道具传递给另一个组件



你知道有些人说,当你有一个useState时,传递setState方法是不好的做法,但如果我使用useReducer并传递dispatch函数。那会是更好的做法吗

通过setStatedispatch可以用父状态做任何子级想要做的事情,这是设计问题。可以从父级提供回调,这样操作就可以限制在预期的使用范围内,如果需要,可以在回调中放置断点来调试函数调用:

const increment = () => {
dispatch({type: 'increment'});
};
...
<Child onIncrement={increment}/>

最新更新