찾다

 >  Q&A  >  본문

React에서 태그를 지정하기 위해 업로드된 파일을 선택할 수 없습니다.

<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粉312631645P粉312631645501일 전506

모든 응답(2)나는 대답할 것이다

  • P粉523335026

    P粉5233350262023-08-16 14:23:10

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

    으아악

    회신하다
    0
  • P粉760675452

    P粉7606754522023-08-16 14:11:16

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

    React 공식 문서에 따르면:

    으아악

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

    으아악

    회신하다
    0
  • 취소회신하다