自己的计时器组件有反应,回流不起作用

own timer component with react, reflux not working

我试着习惯回流并分叉了一个示例回购。我的完整代码在这里 [ https://github.com/svenhornberg/react-starterkit ]

我想创建一个计时器组件,它从时间存储中获取当前时间,但它不工作。 DevTools 没有显示任何错误。这一定是一些新手错误,但我没有找到它们。

Edit1: 我在home里面加了一行 //edit1

Edit2:我觉得错误可能出在home.jsx

中的componentDidMount

FIXED我需要触发我的时间,看我的回答。

商店

import Reflux from 'reflux';
import TimeActions from '../actions/timeActions';

var TimeStore = Reflux.createStore({
    listenables: timeActions,

    init() {
        this.time = '';
    },

    onCurrenttime() {
        this.time = '13:47';
    }
});

导出默认时间存储;

操作数

import Reflux from 'reflux';

var TimeActions = Reflux.createActions([
  'currenttime'
]);

export default TimeActions;

组件

import React from 'react';

class Timer extends React.Component {

  constructor(){
    super();    
  }

  render() {
    var time = this.props.time;

    return (
      <div>
        { time }
      </div>
    );
  }

}

Timer.propTypes = {
  time : React.PropTypes.string
}

export default Timer;

我想在home.jsx

中使用定时器组件
import React from 'react';
import ItemList from '../components/itemList.jsx';
import ItemStore from '../stores/itemStore';
import ItemActions from '../actions/itemActions';

import Timer from '../components/timer.jsx';
import TimeStore from '../stores/timeStore';
import TimeActions from '../actions/timeActions';

class Home extends React.Component {

  constructor(props){
    super(props);
    this.state = {
      items : [],
      loading: false,
      time : '' //edit1
    };
  }

  componentDidMount() {
    this.unsubscribe = ItemStore.listen(this.onStatusChange.bind(this));
    this.unsubscribe = TimeStore.listen(this.onStatusChange.bind(this));

    ItemActions.loadItems();
    TimeActions.currenttime();
  }

  componentWillUnmount() {
    this.unsubscribe();
  }

  onStatusChange(state) {
    this.setState(state);
  }

  render() {

    return (
      <div>
        <h1>Home Area</h1>
        <ItemList { ...this.state } />
        <Timer { ...this.state } />
      </div>
    );
  }
}

export default Home;

我修复了它,感谢:

我要触发我的时间了:

var TimeStore = Reflux.createStore({
    listenables: TimeActions,

    init() {
        this.time = '';
    },

    onCurrenttime() {
      this.trigger({
        time : '13:47'
      });
    }
});