Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在设置状态下响应回调_Javascript_Reactjs - Fatal编程技术网

Javascript 在设置状态下响应回调

Javascript 在设置状态下响应回调,javascript,reactjs,Javascript,Reactjs,js:1警告:来自useState()和useReducer()的状态更新 钩子不支持第二个回调参数。执行一方 效果渲染后,使用在零部件主体中声明它 useffect() 这是我尝试这样做时遇到的错误 setUnansweredQuestions({ newUnansweredQuestions }, () => nextQuestion() ); 我尝试在更新未回答问题的状态后运行函数,但无法运行,因为它不会立即更新 我搜索了一下

js:1警告:来自useState()和useReducer()的状态更新 钩子不支持第二个回调参数。执行一方 效果渲染后,使用在零部件主体中声明它 useffect()

这是我尝试这样做时遇到的错误

setUnansweredQuestions({ newUnansweredQuestions }, () =>
                nextQuestion()
            );
我尝试在更新未回答问题的状态后运行函数,但无法运行,因为它不会立即更新

我搜索了一下,据说它使用了useEffect,但我已经定义了一个,不允许我创建另一个。我只想在更新未回答的问题后调用函数nextQuestion

useEffect(() => {
        setUnansweredQuestions(questions);
        selectRandomQuestion();
    }, [currentQuestion]);

拥有多个
useffect
s没有什么错

由于您要设置未回答的问题,并且希望在状态变量更改后运行某些操作,因此只需执行以下操作:

useEffect(nextQuestion, unansweredQuestions);

你可以这样尝试,我知道这不是一个好的解决方案,但它是有效的

  setState(UnansweredQuestions);
  setTimeOut(() => {
    nextQuestion()
  }, 16)


这将给我错误,因为其他地方没有数据,我假设必须执行一些条件,如果这样,导致未回答的问题在这一点上是空的,你是什么意思
因为其他地方没有数据
?不管它是固定的。因为未回答的问题在页面加载时是空的,需要在稍后的某个时间循环,所以需要在效果内部进行检查,但它现在可以工作了