重寫後的標題為:Initial update of React state is not occurring
P粉401901266
P粉401901266 2023-09-08 22:29:43
0
2
441

我有一個圖像上傳元件,用戶可以一次上傳一張或多張圖像。當用戶上傳圖像時,我總是嘗試使用 useState() 更新狀態。但狀態並沒有在第一時間更新。我如何更新以下程式碼才能使其正常工作。

import React from 'react';
import './style.css';
import React, { useState } from 'react';

export default function App() {
  const [file, setFile] = useState([]);

  const uploadImages = (event) => {
    console.log('NewFile=>', event.target.files);

    setFile([...file, ...event.target.files]);
    console.log('UpdatedFiles=>', file);
  };
  return (
    <div>
      <input
        multiple
        type="file"
        name="photo"
        id="photo"
        accept="image/*"
        capture="environment"
        onChange={(event) => uploadImages(event)}
      />
    </div>
  );
}

https://stackblitz.com/edit/react-ujcbjh?file=src/App.js

P粉401901266
P粉401901266

全部回覆(2)
P粉846294303

每當您將 useState 與非原始類型一起使用時,您應該小心。

React 文件中的這兩頁將為您提供一些說明:

#簡而言之,react 使用 Object.is 來決定在呼叫 setState 之間狀態是否會變更。對於物件和數組,即使其內容發生變化,這也可能傳回 true。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!