首页 > 解决方案 > 如何在另一个函数中使用 .then 中的 setState 作为 ReactJS 中的参数

问题描述

我是 ReactJS 的新手。我有:

this.service
        .getData({})
        .then((response: any) => {
            this.setState({
                id: response.id
            });
        })

getStats(this.state.id) {
...
}

我无法在 .then 之外获得 id 的值。我想在多个函数中使用 id 。如何获得状态值,以便不必多次调用该函数?请建议。

标签: reactjsstate

解决方案


一旦状态更新,它将再次调用渲染方法。在下一次渲染调用中,您将更新状态。对 setState 的调用是异步的 - 不要依赖 this.state 在调用 setState 后立即反映新值。

所以为了使用状态设置后的状态,要么你可以使用一些效果或者组件生命周期来获取更新的状态。


推荐阅读