ホームページ  >  に質問  >  本文

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 handleImageUpload = (イベント: { ターゲット: { ファイル: 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粉312631645453日前454

全員に返信(2)返信します

  • P粉523335026

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

    これは、コンソールを呼び出したりログインしたときにステータスが更新されていないためです。 useEffect フックにステータスを記録すると、更新時にステータスを表示できます。以下に例を示します:

    リーリー

    返事
    0
  • P粉760675452

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

    コードは期待どおりに動作すると思いますが、コードを呼び出そうとしたとき、状態はまだ更新されていません。

    React 公式ドキュメントによると :

    リーリー

    これは私の推測ですが、次のコードを追加してみてください:

    リーリー

    返事
    0
  • キャンセル返事