ES6+REACT+MIXIN

ES6+REACT+MIXIN

文件结构

Action.js
Home.jsx
index.js
store.js

Home.jsx

import React from 'react'
import Reflux from 'reflux'
import ReactMixin from 'react-mixin'
import store from './store'
import Actions from './Actions'

class App extends React.Component {
    constructor(props) {
        super(props);
        Actions.getAll();
    }
   render() {
        var t = this;
        var data = t.state.m;
        return <div onClick={Actions.add.bind(this)}>
            Hello World!!!<br />
            {data.num}
         </div>;
   }
}

export default App;
ReactMixin.onClass(App,Reflux.connect(store,'m'));

store.js

import Actions from './Actions'
import Reflux from 'reflux'

export default Reflux.createStore({
    listenables: [Actions],onGetAll() {
        this.trigger(this.data);
    },onAdd(item) {
        this.data.num += 1;
        this.trigger(this.data);
    },onRemove(i) {
        this.data.num = 0;
        this.trigger(this.data);
    },getInitialState() {
        var t = this;
        this.data = {
            num:0
        };
        return this.data;
    }
});

index.js

module.exports = require('./Home.jsx');

Action.js

import Reflux from 'reflux';

export default Reflux.createActions(['getAll','add','remove']);

如果更好的方法欢迎指导

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...