javascript - React.js + Flux - 正确初始化存储中的数据对象

标签 javascript reactjs-flux reactjs flux

如何初始化 Flux 存储中的数据对象?

class MyStore {
   constructor() {
      this.myData = {}; 
      // or
      this.myData = null;
   }

   onReceiveData(data) {
      this.myData = data;
   }
}

在我的 React 组件中,我正在检查数据是否从服务器加载以呈现子组件:

render() {
    // <Child /> has required props in `data` object
    return (
        <div>
            {!this.state.myData ? (
               <div>Loading...</div>
            ) : (
               <Child data={this.state.myData} />
            )}
        </div>
    )
}

最佳答案

我使用 AppBootstrap.js 模块来 (1) 实例化存储,(2) 使用来自服务器的初始数据分派(dispatch)初始化操作,以及 (3) 渲染根 React 组件。

示例:

// AppBootstrap.js

var AppConstants = require('AppConstants');
var AppDispatcher = require('AppDispatcher');
var AppRoot = require('AppRoot.react');
var React = require('React');

require('FriendStore');
require('LoggingStore');
require('MessageStore');

module.exports = (initialData, elem) => {
  AppDispatcher.dispatch({
    type: AppConstants.ActionTypes.INITIALIZE,
    data: initialData
  });
  React.render(<AppRoot />, elem);
};

关于javascript - React.js + Flux - 正确初始化存储中的数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28881534/

相关文章:

javascript - 注册 JavaScript 文件和依赖的内联代码

javascript - 让 NextJS 图像组件和 @svgr/webpack 一起玩得很好

enums - 为什么 Flux 架构示例使用常量作为操作类型而不是字符串?

javascript - Reactjs中商店之间的通信

reactjs-flux - Flux Dispatcher - 查看操作与服务器操作

javascript - 框架如何在没有虚拟 DOM 的情况下更新 DOM?

css - 离线时使用 Ant Design 图标

javascript - 动态添加n个div同时移除n个div

javascript - Google reCAPTCHA float 通知未完全显示

javascript - ES6 react 组件的 JSDoc