反应跨组件状态

时间:2016-06-20 17:52:23

标签: javascript reactjs

我读到articles批评React for setState很奇怪,而批评它的人却没有理解它。 我真的很喜欢React模块化,我学的越多,我发现它越直观。

然而,我遇到了多种情况,我希望这些状态是跨组件的。我的意思是,更改组件中的状态可能会影响另一个组件。据我所知,这个问题没有内置的React解决方案。当然有很多方法,但没有固定的协议。

我的问题是,为什么?不提供处理这种常见场景的简单方法有什么好处?或者如果有,我也不知道,请赐教!

1 个答案:

答案 0 :(得分:0)

至少有4种开箱即用的方法可以在密切相关(和不相关)的组件之间共享状态:props,callbacks,refs,ctx变量。

我认为它的构建尽可能小,完全意图如果你需要一个复杂项目的应用程序状态管理器(不相关的组件需要通信),你将包含一个,他们不会强迫你任何一种方法。

如果你确实想要一些拥有更多实质性脚手架的东西来开始一个项目,很多人都会这样做,你可以参考反应 - 样板或类似的。

但是让React本身仅限于最小化,我可以自由选择(或不选择)每个项目的最佳工具,而不必覆盖一个尺寸适合所有默认值。