【发布时间】:2021-02-22 06:42:18
【问题描述】:
我有上传多张图片的功能,它可以工作,现在我需要显示用户选择的所有图片的预览。我尝试使用map 和forEach 尝试循环显示图像,但它不起作用。 console.log(images) 显示上传图片的 url,但 images.map() 或 images.ForEach 抛出空错误。谁能告诉我这有什么问题?我是新手,所以需要一些帮助。
这是代码:
const fileObj = [];
const imageArray = [];
const [images, setImages] = useState(null);
const uploadMultipleFiles = (e) => {
if (e.target.name === 'images') {
fileObj.push(e.target.files)
for (let i = 0; i < fileObj[0].length; i++) {
imageArray.push(URL.createObjectURL(fileObj[0][i]))
// console.log(imageArray)
}
setImages({ images: imageArray })
}
}
{console.log(images)}
<div className="form-group multi-preview">
{ {(imageArray || []).map(url => (
<img src={url} alt="" />
))}
}
</div>
<label htmlFor="images">
<input
accept="image/*"
className={classes.input}
id="images"
onChange={uploadMultipleFiles}
name="images"
type="file"
multiple
ref={register({required:true})}
/>
Images
<IconButton color="primary" component="span">
<PhotoCamera style={{fontSize:"xx-large"}} />
</IconButton>
</label>
【问题讨论】:
-
setImages定义在哪里? -
嘿,我把它定义为
const [images, setImages] = useState(null); -
代码中应该也有。我猜是有问题。
-
哦..好的,感谢您告诉我。我会更新问题。
标签: javascript reactjs react-native foreach rxjs