首页 > 解决方案 > 这个 setState 如何从函数中设置一个值?

问题描述

我在设置状态值与从函数返回的值时遇到问题。不知何故,状态只将自己绑定到函数本身。我怎样才能解决这个问题?

这是我的构造函数:

    this.state = {
        text: getText
    }

这是检索

getText= () => {
    $.get('/webapi/gettext, function (data) {
        return data;
    }.bind(this));
};

但如果我在构造函数中有它,这将有效。

constructor{
        $.get('/webapi/gettext, function (data) {
                        this.setState({ text: data });
        }.bind(this));
}

标签: reactjstypescript

解决方案


你需要使用componentDidMount钩子:

componentDidMount() {
  $.get('/webapi/gettext, (data) => {
    this.setState({ text: data });
  });
}

如需更多帮助,请参阅我的另一篇文章


推荐阅读