Javascript 扩展React.Component时未定义React JS:setState

Javascript 扩展React.Component时未定义React JS:setState,javascript,reactjs,Javascript,Reactjs,我正在将一些React JS组件重构为ES6样式的类,这些类来自以前使用React.createClass的实现。 在旧的实现中,this.setState按预期工作 但是,在扩展React.Component时,似乎setState方法根本不可用,即使它是作为API的一部分记录的: 是否有其他机制更新组件状态,或者这更可能是我的实现中的一个问题 function getState() { return {test: TestStore.getTest()} } class MyCompo

我正在将一些React JS组件重构为ES6样式的类,这些类来自以前使用React.createClass的实现。 在旧的实现中,this.setState按预期工作

但是,在扩展React.Component时,似乎setState方法根本不可用,即使它是作为API的一部分记录的:

是否有其他机制更新组件状态,或者这更可能是我的实现中的一个问题

function getState() {
  return {test: TestStore.getTest()}
}

class MyComponent extends React.Component {

  constructor(props) {
    super(props);
    this.state = getState();
    this._onChange = this._onChange.bind(this);
   }
   componentDidMount() {
     TestStore.addChangeListener(this._onChange);
   }
   _onChange() {
     this.setState(getState());
   }
    render(){
        return <div>{this.state.test}</div>
    }
}
函数getState(){ 返回{test:TestStore.getTest()} } 类MyComponent扩展了React.Component{ 建造师(道具){ 超级(道具); this.state=getState(); this.\u onChange=this.\u onChange.bind(this); } componentDidMount(){ addChangeListener(this.\u onChange); } _onChange(){ this.setState(getState()); } render(){ 返回{this.state.test} } } 我使用的是react js版本0.14.7


编辑:以上截取的事实上是正确的。该问题是由于我这边的一个特定于域的错误造成的

您是在构造函数中定义状态还是将状态定义为类属性?请在Flux store中的某些内容更改时发出的回调中发布相关代码partI call this.setState。我已经试过把这个装订好了,似乎并没有什么效果difference@kpimov我在构造函数中定义了state,“但是在扩展React.Component时,setState方法看起来根本不可用”,它是可用的。您发布的代码没有您正在谈论的问题。