Javascript 在设置状态下响应回调
js:1警告:来自useState()和useReducer()的状态更新 钩子不支持第二个回调参数。执行一方 效果渲染后,使用在零部件主体中声明它 useffect() 这是我尝试这样做时遇到的错误Javascript 在设置状态下响应回调,javascript,reactjs,Javascript,Reactjs,js:1警告:来自useState()和useReducer()的状态更新 钩子不支持第二个回调参数。执行一方 效果渲染后,使用在零部件主体中声明它 useffect() 这是我尝试这样做时遇到的错误 setUnansweredQuestions({ newUnansweredQuestions }, () => nextQuestion() ); 我尝试在更新未回答问题的状态后运行函数,但无法运行,因为它不会立即更新 我搜索了一下
setUnansweredQuestions({ newUnansweredQuestions }, () =>
nextQuestion()
);
我尝试在更新未回答问题的状态后运行函数,但无法运行,因为它不会立即更新
我搜索了一下,据说它使用了useEffect,但我已经定义了一个,不允许我创建另一个。我只想在更新未回答的问题后调用函数nextQuestion
useEffect(() => {
setUnansweredQuestions(questions);
selectRandomQuestion();
}, [currentQuestion]);
拥有多个
useffect
s没有什么错
由于您要设置未回答的问题,并且希望在状态变量更改后运行某些操作,因此只需执行以下操作:
useEffect(nextQuestion, unansweredQuestions);
你可以这样尝试,我知道这不是一个好的解决方案,但它是有效的
setState(UnansweredQuestions);
setTimeOut(() => {
nextQuestion()
}, 16)
这将给我错误,因为其他地方没有数据,我假设必须执行一些条件,如果这样,导致未回答的问题在这一点上是空的,你是什么意思
因为其他地方没有数据
?不管它是固定的。因为未回答的问题在页面加载时是空的,需要在稍后的某个时间循环,所以需要在效果内部进行检查,但它现在可以工作了