例如,在一个页面中,我想在MANY组件中使用UserStore。 可以这样使用吗?
如果组件是UserComponent的子组件,我必须在每个子组件中声明{... props}吗?或者可以在许多子组件中使用重复的叠加注入吗?
如果组件不在UserComponent中,是否可以在许多组件中声明UserStore重复?
什么是最佳做法?
<Component1>
<UserComponent> < --- UserStore : get states to props
<Component1 />
<Component2>
<Component3>
<Component4>
<Component5 /> < --- UserStore : get states to props
</Component4>
</Component3>
</UserComponent>
</Component1>
<Component6>
<Component7></Component7> < --- UserStore : get states to props
</Component6>
答案 0 :(得分:2)
这里有很多思路。我承认我还没有使用过alt.js,所以可能会有一些我认为无法解决的问题。
那说;
FB's Flux Documentation提出了围绕此问题的最佳做法。他们的架构建议是使用两类组件;容器和视图。
容器与商店交互以收集数据,并且不接收任何道具。它们没有视图逻辑,它们将商店数据作为道具传递给子视图。
视图将所有信息作为道具传递(无商店通信)。
所以是的,你会把这些值从子节点传递给子节点作为道具。但是你可以有多个容器从商店中提取相同的信息。重要的是,容器应该对自己的位置和位置不了解,完全不知道自己的父母是谁。