내 useState가 여전히 비어 있는 이유를 알려주실 수 있나요? 업데이트하고 싶지 않습니다. setInteraval과 함수를 사용하여 데이터를 업데이트하고 현재 시간에 useState를 설정하려고 하는데 useState가 setTimeOut(res)의 formatTime을 무시합니다. 문제를 해결하는 방법을 알려주실 수 있나요?
EDIT: 숫자를 useState
에 넣으면 으아악1초간 나타났다가 사라지고 빈 필드가 있습니다. setInterval이 내부의 모든 것을 삭제하는 것 같은데 어떻게 수정합니까?
const [timeOut, setTimeOut] = useState(30)
이는 시간 초과 내에 상태를 설정하기 때문일 가능성이 높습니다.
또 다른 문제는 내부에서 setTimeout을 호출한다는 것입니다.
대신 이전 상태를 기반으로 새 값을 반환하는 함수를 사용하세요.
으아아아useState
接受一个函数,该函数接收previousState
매개변수문제는 setInterval이 1초마다 실행되고 1초마다 상태(timeOut)를 업데이트한다는 것입니다.
또한 formatTime 함수에서는 createAt 시간 대신 현재 시간(new Date().getTime())을 사용하고 있습니다. 따라서 상태는 매초마다 새로운 값으로 지속적으로 업데이트됩니다.
업데이트된 코드입니다.
으아아아