首页 > 解决方案 > 如何等待 setState 完成然后在 React Native 中执行代码?

问题描述

如何等待 setState 完成然后在 React native 中执行代码?我有一个if else我只想在 setState 完成后执行的块。我的代码:

setModalVisible(false);
if (modalVisible === false) {
   dispatch(updateUser(r.data));
} else {
   NavigationHelper.navigate('Login');
}

标签: react-native

解决方案


你可以用它useEffect来实现你的目标。您可以跟踪状态更改并在状态更改时执行代码。

例子:

const [value, setValue] = useState(false)

useEffect(() => {
  if (value) {
    // trigger when value becomes true
  } else {
    // trigger when value becomes false
  }
}, [value])

return (
  <button onClick={() => setValue(true)}>Set to true</button>
)

推荐阅读