0

我使用 Redux 并做出反应,并在一秒钟后在计时器中获取 redux 状态的值。Timer 每次执行时,state 的值不变,为初始值。state 中的初始值为

00:00:00

注意:状态中的值是正确的,只有定时器中的值是错误的和初始值。

 CheckTheEndOfTheExam = setInterval(() => {
    handleSendWxamDataAfterEndTime();
 }, 60000);
 const handleSendWxamDataAfterEndTime = () => {    
       if (getTimeToAttendTheExamPage == data1.examParents[0].examParent_duration) {
           alert('زمان امتحان تمام شده است!!!');
        }
    }
const mapStateToProps = createStructuredSelector({
    getTimeToAttendTheExamPage:getTimeToAttendTheExamPage,
});
4

1 回答 1

0

setState callback您可以使用和调用钩子handleSendWxamDataAfterEndTime内的函数来更新状态。useEffect

const [state, setState] = useState(0);

 CheckTheEndOfTheExam = setInterval(() => {
    setState(s => s + 1)
 }, 60000);
 
 useEffect(() => 
  {
    if (state > 0)
      handleSendWxamDataAfterEndTime()
  }, [state])

于 2021-05-29T07:17:40.810 回答