P粉4398045142023-09-03 16:06:45
따라서 코드가 실행되는 방식, 특히 setState의 콜백 형식을 사용할 수 있도록 setState의 비동기 특성에 따라 달라집니다. 예는 다음과 같습니다.
으아악다음은 나머지 코드가 포함된 전체 예입니다.
으아악P粉7757237222023-09-03 16:04:09
다음 세 가지처럼 보입니다.
checkLength
호출합니다. setState
的新值。这是 React 的基本思想(是否是个好主意还有待商榷),状态值在渲染期间是不可变的。 setState
를 얻지 못하고 다음 렌더링에서 사용될 다음 불변 상태만 얻습니다. setState
依赖于先前的状态时,您应该将回调传递给setState
,而不是直接使用当前值。举个例子,假设你有一个空数组,你调用 fetch 一次,然后在第一个数组完成之前再次调用 fetch 。在执行 ...blob
时,这两个 setState
调用都会引用空数组。通过传递回调,setState
매개변수로 전달된 최신 값을 가져옵니다. 추가 정보: https://react.dev/reference/react/Component#setstate 가장 간단한 해결책은 배열을 setState
콜백 내 setState
回调内的 checkLength
에 매개변수로 전달하는 것입니다.
문제의 .then()
내용은 다음과 같습니다.
이것은async
await
检查长度