gpt4 book ai didi

javascript - React Native 中 componentDidMount() 警告中的异步 SetState

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:30:32 25 4
gpt4 key购买 nike

警告消息说:

“警告:只能更新已安装或正在安装的组件。这通常意味着您在未安装的组件上调用了 setState、replaceState 或 forceUpdate。这是空操作。”

导致它的代码:

async componentDidMount() {
const token = await AsyncStorage.getItem('google_token');

if (token) {
this.props.navigation.navigate('feed');
this.setState({ token });
} else {
this.setState({ token: false });
}
}

经过一些谷歌搜索后,我真的很困惑我是否应该担心这个警告。如何在不禁用这样的规则的情况下消除警告消息 Github issue建议 ?

最佳答案

我认为问题在于您导航到“提要”然后更新此组件的状态。最好先更新状态,然后在完成后导航:

async componentDidMount() {
const token = await AsyncStorage.getItem('google_token');

if (token) {
this.setState({ token }, () => this.props.navigation.navigate('feed'));
} else {
this.setState({ token: false });
}
}

关于javascript - React Native 中 componentDidMount() 警告中的异步 SetState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44166104/

25 4 0
文章推荐: Javascript 获取星期几范围数字数组,在两个数字之间,符合 ISOWeekday
文章推荐: android - 在 Android Studio 中调试时,行断点不会挂起线程
文章推荐: javascript - 我想将来自 jquery $.ajax() 方法的响应放到 Bootstrap 弹出窗口模态中的目标
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com