gpt4 book ai didi

reactjs - 使用 React Functions 预览图片上传

转载 作者:行者123 更新时间:2023-12-04 00:20:15 25 4
gpt4 key购买 nike

你好,我正在尝试上传和预览图像,但我只能找到有关如何使用类组件执行此操作的 React 教程

import React from 'react';


const AddNew = () => {
const fileHandler = (event) => {
console.log(event.target.files[0])
}
const alt = (event) => {
return(event.target.files[0].name)
}
const preview = (event) => {
return (
URL.createObjectURL(event.target.files[0])
)
}
return (
<div className="addNew">
<img src={preview} alt={alt}/>
<input type="file" onChange={fileHandler} />
</div>
)
}

export default AddNew

我如何使用这种语法预览它?

我收到 Prop “src”和“alt”无效值的错误

最佳答案

你需要使用 state 让 React 知道什么时候重新渲染。你可以使用 useState hook 来保存你的组件状态和文件信息,当它发生变化时,React 知道是时候渲染了。

const AddNew = ({}) => {
const [file, setFile] = React.useState(null)

const fileHandler = (e) => {
setFile(e.target.files[0])
}

return (
<div>
<img src={file? URL.createObjectURL(file) : null} alt={file? file.name : null}/>
<input type="file" onChange={fileHandler} />
</div>
)
}



ReactDOM.render(<AddNew />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="root"/>

关于reactjs - 使用 React Functions 预览图片上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61221230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com