我可以在多个组件中使用alt商店做出反应吗?

时间:2016-04-14 12:23:22

标签: reactjs flux alt.js

例如,在一个页面中,我想在MANY组件中使用UserStore。 可以这样使用吗?

  1. 如果组件是UserComponent的子组件,我必须在每个子组件中声明{... props}吗?或者可以在许多子组件中使用重复的叠加注入吗?

  2. 如果组件不在UserComponent中,是否可以在许多组件中声明UserStore重复?

  3. 什么是最佳做法?

    <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>
    

1 个答案:

答案 0 :(得分:2)

这里有很多思路。我承认我还没有使用过alt.js,所以可能会有一些我认为无法解决的问题。

那说;

FB's Flux Documentation提出了围绕此问题的最佳做法。他们的架构建议是使用两类组件;容器和视图。

容器与商店交互以收集数据,并且不接收任何道具。它们没有视图逻辑,它们将商店数据作为道具传递给子视图。

视图将所有信息作为道具传递(无商店通信)。

所以是的,你会把这些值从子节点传递给子节点作为道具。但是你可以有多个容器从商店中提取相同的信息。重要的是,容器应该对自己的位置和位置不了解,完全不知道自己的父母是谁。

相关问题