React에서 태그를 지정하기 위해 업로드된 파일을 선택할 수 없습니다.
P粉312631645
P粉312631645 2023-08-15 20:43:24
0
2
513
<p>저는 React를 사용하여 파일 업로드를 만들고 있습니다. 파일이 업로드되는 즉시 상태 변수가 업로드된 파일(.docx 또는 .pdf)로 설정되기를 원합니다. 그러나 set state를 호출하면 정의되지 않은 것으로 표시됩니다. </p> <pre class="brush:php;toolbar:false;">const [selectedFile, setSelectedFile] = useState(null) <Input type="file" onChange={handleImageUpload} accept={config.type}/> const handlerImageUpload = (이벤트: { 대상: { 파일: any[] } }) => const 파일 = event.target.files[0] if (파일) { if (file.size > config?.fileSize) { setErrorMessage(config.fileSizeError) } else if (file?.name.endsWith(config.type)) { setSelectedFile(파일) } 또 다른 { reader.readAsDataURL(파일) } } }</pre> <p><code>setSelectedFile(file)</code>이 발생하면 <code>selectedFile</code>이 정의되지 않은 것으로 표시됩니다. 이것이 일어난 구체적인 이유입니까? </p>
P粉312631645
P粉312631645

모든 응답(2)
P粉523335026

콘솔에 전화를 걸거나 로그인할 때 상태가 아직 업데이트되지 않았기 때문입니다. useEffect후크에 상태를 기록하여 업데이트 시 확인할 수 있습니다. 예는 다음과 같습니다.

으아악
P粉760675452

코드가 예상대로 작동하는 것 같은데, 호출하려고 하면 상태가 아직 업데이트되지 않았습니다.

React 공식 문서에 따르면:

으아악

이제 이것은 내 추측이지만 다음 코드를 추가해 볼 수 있습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿