altjs反应商店连接无法正常工作

时间:2016-09-07 14:42:35

标签: javascript reactjs flux

我试图将我的商店连接到实际的应用程序,以便提供数据并对状态更改做出反应。可悲的是,商店连接似乎有问题。

 @connectToStores
 class App extends Component {

     static getStores() {
        return [CategoryStore, UserStore, LocalizationStore];
     }

     static getPropsFromStores() {
         return {
            ...CategoryStore.getState(),
            ...UserStore.getState(),
            ...LocalizationStore.getState()
     };
   }

    static componentDidConnect(props, context) {
         ca.fetchCategories();
         la.fetchLocales();
     }

运行项目时,componentDidConnect永远不会被使用。根据这个:https://github.com/altjs/connect-to-stores/issues/6该函数应该在连接商店后立即运行。 我让它部分地将动作放在componentWillMount中,但状态没有正确更新。所以我认为商店连接没有正确设置。

我也尝试过ES7 decorator / ES6正常实现。

我不知道为什么来自商店的数据没有正确分发。任何帮助都非常欢迎!

1 个答案:

答案 0 :(得分:0)

我明白了。由于以下原因,道具没有传递给孩子的原因是:

我用它来初始化孩子:

 const children = React.Children.map(this.props.children, (child) => {
  return React.cloneElement(child, this.state);
 });

传递状态而不是道具。因此用this.props替换this.state为我工作。