React.js:你用一个不可调用的回调调用`setState`

Fle*_*eck 13 javascript reactjs

这是我的一段代码,它可以正常工作(添加记录),但在添加后抛出错误:

未捕获的错误:违反不变:enqueueCallback(...):你叫 setProps,replaceProps,setState,replaceState,或 forceUpdate有回调是不可调用的.

handleSubmit: function(e) {
    e.preventDefault();
    return $.post('', {page: this.state},
      function(data) {
        this.props.handleNewPage(data);
        return this.setState(this.getInitialState(), 'JSON');
      }.bind(this)
    );
  }
Run Code Online (Sandbox Code Playgroud)

目前没有路线.有人可以帮我解决这个问题吗?

Mad*_*iha 32

第二个(可选)参数setState是回调函数,而不是字符串.您可以传递一个操作完成后将执行的功能.

  • @HannesJohansson第一个参数可以是**函数**(不是回调,有区别)或对象.要么工作正常.回调严格来说是一个操作完成后要回调*的函数.这与setState的第一个参数不同. (2认同)