我在React中思考这套组件吗?

时间:2016-09-07 10:46:38

标签: javascript reactjs components

我正在构建一个虚拟App来尝试学习React。我所拥有的是一个小工具栏,带有一些按钮,可以启动不同的模态。我想知道在采取错误的方法之前我是否正确地考虑了React。

所以,我有组件:

App <Toolbar /> <Button /> <Modal />

这是简化的,但您可以看到我的ToolbarModal是兄弟姐妹。

这是一个很好的方法吗,或者我应该将模态耦合到它的启动按钮? (我选择解开它们的原因是因为我遇到了一些可能由不同事件触发的情况)。

另外,如果这种方式没问题,我是否正确认为要传递状态(例如打开模态),Button应该将状态传递给App然后再返回Modal

我认为组件之间的通信是我目前唯一没有得到的部分。

1 个答案:

答案 0 :(得分:1)

您可以使用自己的组件。然而,通过按钮传递状态并不是一个好主意。更好的方法是,将状态与模态本身联系起来,单击按钮将执行一个函数(比如“动作”),它将改变模态的状态,使其重新渲染自身。 对于更高级的东西,您需要与Flux或Redux等库进行反应,以便将状态管理工作委派给他们。