不呈现的React组件会听取动作吗?

时间:2015-08-28 09:20:44

标签: reactjs refluxjs

我正在研究React应用程序,但我遇到了问题。我正在尝试将概述页面(/)中的数据传递到另一个视图ShowAllView/#/showall)。

我制作了一个Action来传递概述中的数据。 ShowAllView类会监听Action。但是,它似乎并未在ShowAllView类中触发。如果我尝试在概述中的组件中听取操作,它的工作完全正常。

ShowAllView类在render()时没有执行Action方法。

我正在使用React和Reflux。

有没有人知道将数据从一个视图传递到另一个视图的解决方案?或者,未呈现的组件应该如何收听Action s?

修改

overview.jsx:

//some method
Actions.selectTab(selectedTab);

showall.jsx

mixins:[
Reflux.listenTo(Actions.selectTab, "setSelectedTab")
]
//...some more code

也许这有点帮助:

var Routes = (
    <Route handler={App} path='/'>
        <DefaultRoute handler={OverView} />
        <Route name='showall' handler={ShowAllView}></Route>
    </Route>
);

1 个答案:

答案 0 :(得分:0)

对于需要被不同页面/组件所知的视图状态,我使用App.Store。应用程序商店侦听操作,设置属性然后触发由侦听上层组件拾取的事件,该组件设置通过props传播的状态以在组件中呈现。它是一个圆形的东西,可以保持你的逻辑清晰。