【问题标题】:Why would we use SetState while we can change Component's values from parent component?为什么我们要使用 SetState 而我们可以从父组件更改 Component 的值?
【发布时间】:2021-07-27 19:07:36
【问题描述】:
我正在尝试了解 react (ContextApi) 中的调度、reducer 和操作。但我的问题是:虽然我们可以从父组件更改子组件中的任何内容,但为什么我们需要在子组件中使用“setState”?我的意思是,如果我想更改组件中的某些内容,如果我可以从父级更改它(我可以使用 dispatch、reducer 和 action),我不会使用组件内部的 SetState 函数。如果你能帮助我,我会很高兴。谢谢!
【问题讨论】:
标签:
javascript
reactjs
web
dispatch
react-context
【解决方案1】:
您不需要使用 setState。如果您需要控制子组件中的状态,您可以将 dispatch 函数作为 prop 传递。
如果您需要在渲染之前过滤输入或在本地更改状态,则在子组件中使用 setState 很有用。但是这一切都可以在没有usestate的情况下实现。
但是,如果您正在尝试学习减速器,我真的不明白子组件中的钩子可以只是另一个减速器,以防您想独立控制它。