【问题标题】:Do unrendered React components listen to Actions?未渲​​染的 React 组件会监听 Actions 吗?
【发布时间】:2015-11-22 21:51:21
【问题描述】:

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

我创建了一个Action,它传递了概览中的数据。 ShowAllView 类监听 Action。但是,它似乎不是在 ShowAllView 类中触发的。如果我尝试在概览中收听组件中的操作,则效果非常好。

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

我正在使用带有 Reflux 的 React。

有人知道将数据从一个视图传递到另一个视图的解决方案吗?或者未渲染的组件应该如何监听Actions?

编辑

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

【问题讨论】:

  • 我们需要更多代码来理解您的真正意思
  • 您为什么不在其他组件中侦听对商店的更改而不是操作?

标签: reactjs refluxjs


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-23
    • 2015-06-06
    • 2017-02-10
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    相关资源
    最近更新 更多