2015-08-28 37 views
0

我正在研究一个React应用程序,并且遇到了一个问题。我试图将数据从概览页面(/)传递到另一个视图ShowAllView/#/showall)。未呈现的React组件是否侦听动作?

我做了一个Action,它传递来自总览的数据。 ShowAllView班听这Action。但是,它似乎并不是在ShowAllView类中触发的。如果我尝试在概览中听取组件中的操作,则它工作得很好。

ShowAllView类在Action时未执行其render()方法。

我正在使用React和Reflux。

有谁知道解决方案将数据从一个视图传递到另一个视图?或者一个不受约束的组件应该如何收听Action

编辑

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> 
); 
+0

我们需要更多的代码才能找到你真正想要的东西 –

+0

为什么你不在听其他组件的商店更改而不是操作? –

回答

0

对于需要由不同页面/组件知道的视图状态,我使用App.Store。应用程序商店侦听动作,设置属性,然后触发一个事件,该事件由侦听的上层组件获取,该事件设置通过在组件中渲染的道具传播的状态。它是一个循环的事情,它的作用是保持你的逻辑清晰。