reactjs - 这个 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));
}
解决方案
你需要使用componentDidMount
钩子:
componentDidMount() {
$.get('/webapi/gettext, (data) => {
this.setState({ text: data });
});
}
如需更多帮助,请参阅我的另一篇文章。
推荐阅读
- python - 在单个数据框中显示所有匹配对 - Python Record Linkage
- asp.net-web-api - 当控制器使用错误的返回类型时,有没有办法发出警告
- java - 为 BigDecimal 设置比例和舍入后舍入必要的异常
- magento2 - 将 Magento1 管理员用户导入 Magento2
- azure-media-services - 如何使用 azure 函数和事件订阅来监听 mediaService 事件
- c# - 通过自定义分隔符将一个大文本文件拆分为较小的文件。每个新文件名都来自较小文件的标题
- angular - 在 macOS mojave 上安装 angular/cli 时出错 - node-pre-gyp
- json - 又抛出了一个异常:HttpException: Connection closed while received data, uri =
- c# - Ninject IntransientScope 不能与 DBContext 一起使用?
- apache-spark-sql - 将 CURRENT_TIMESTAMP() 时间从 UTC 转换为 ET