ReactJS - 如何从不同的组件设置组件的状态?

时间:2016-05-26 23:38:52

标签: reactjs

MainComponent
    ComponentA
    ComponentB

MainComponent包含ComponentA和ComponentB。当ComponentB改变状态时,我想获得更改的值并将其传递给ComponentA,然后将ComponentA的状态更改为具有该值。

2 个答案:

答案 0 :(得分:1)

您可以在ComponentB中保持MainComponent状态并通过回调进行讨论,或使用redux进行状态管理。遗憾的是,react不是状态管理工具,因此执行您要求的任务可能会很繁琐。

答案 1 :(得分:1)

这不是切换到redux / flux的理由,通过维持MainComponent中的状态可以轻松解决您的问题。实际上,让您的孩子组件ComponentAComponentB保持自己的状态,这是React的最佳做法。

尽量保持尽可能多的组件无状态,并在层次结构中有一个有状态组件,通过props将其状态传递给子组件。对于您的示例,MainComponent应该是一个管理所有子组件状态的有状态组件(ComponentAComponentB

您可以在react documentation

中找到有关该内容的更多信息