重写后的标题为:Initial update of React state is not occurring
P粉401901266
P粉401901266 2023-09-08 22:29:43
0
2
443

我有一个图像上传组件,用户可以一次上传一张或多张图像。当用户上传图像时,我总是尝试使用 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%2FApp.js

P粉401901266
P粉401901266

全部回复(1)
P粉846294303

每当您将 useState 与非原始类型一起使用时,您应该小心。

React 文档中的这两页将为您提供一些说明:

简而言之,react 使用 Object.is 来确定在调用 setState 之间状态是否发生变化。对于对象和数组,即使其内容发生变化,这也可能返回 true。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!