Javascript 仅在状态更新时导航

Javascript 仅在状态更新时导航,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个数组,我现在使用setState()添加项目,在某些条件下我想移动到另一个屏幕,但只有在数组中添加项目之后。所有项目都已成功添加,但当一个条件变为真时,将在更新状态之前重定向到下一个屏幕 在数组中添加项: setAnswers(prevState => ([...prevState, { question: question, answers: answer,selectedAnswer:item, action: action }])) 当我要重定向时的条件: if (

我有一个数组,我现在使用setState()添加项目,在某些条件下我想移动到另一个屏幕,但只有在数组中添加项目之后。所有项目都已成功添加,但当一个条件变为真时,将在更新状态之前重定向到下一个屏幕

在数组中添加项:

   setAnswers(prevState => ([...prevState, { question: question, answers: answer,selectedAnswer:item, action: action }]))
当我要重定向时的条件:

 if (answerStore[item].endpoint) {
  navigation.navigate("InjurySummary", { answers: answers, endpoint: answerStore[item].endpoint })
                                 }
现在,由于数组的最后一项没有被添加,因为它移动到下一个屏幕的速度太快了。在状态更新后,是否有方法重定向到下一个屏幕


注意:我使用的是功能组件

您可以使用
useffect
hook,它将在每次状态更新时遇到

  useEffect(() => {
  // write your logic here,if you want to perfom any task when answers updated
  }, [answers])

useffect
hook有两个参数,第一个是回调函数,第二个是依赖项数组,它将一直监视您的依赖项,并在依赖项更新时遇到这些依赖项。

导航代码在哪里?内部效应?