我正在构建一个虚拟应用程序来尝试学习 React。我拥有的是一个小工具栏,其中有一些按钮应该启动不同的模式。在我采取错误的方法之前,我想知道我在 React 中的思考是否正确。
所以,我有组件:
App
<Toolbar />
<Button />
<Modal />
这是简化的,但你可以看到我的 Toolbar
和Modal
是 sibling 。
这是一个好方法吗,还是我应该将模式与其启动按钮耦合? (我选择将它们解耦的原因是为了防止我遇到不同事件可能触发某些内容的情况)。
另外,如果这种方式没问题,我是否正确地认为要传递状态(例如开放模式), Button
应该将状态传递到 App
然后回到Modal
?
我认为组件之间的通信是我目前唯一真正没有得到的部分。
最佳答案
您对您的组件集没问题。不过,用按钮传递状态并不是一个好主意。更好的方法是,将状态与模态本身联系起来,然后单击按钮将执行一个函数(例如“操作”),该函数将更改模态的状态,导致其重新渲染自身。 对于更高级的东西,您需要与 Flux 或 Redux 等库结合使用,以便将状态管理工作委托(delegate)给它们。
关于javascript - 我是在用这组组件思考 React 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39367802/