javascript - 从 React map 函数保存图像
问题描述
我想在单击时将图像从一个 useState 函数传输到另一个函数
const [images, setImages] = useState([]);
useEffect(() => {
setImages(ImgArray);
}, []);
这是我从中获取源图像的地方
export const ImgArray = [
{
id: 1,
src: 'https://cdn.britannica.com/s:600x1000/91/181391-050-1DA18304/cat-toes-paw-number-paws-tiger-tabby.jpg'
}
];
我的想法是,每当我单击图像时,数组中的确切图像将被保存到我的“setLightboxImage”中
const [lightboxImage, setLightboxImage] = useState([]);
<div className="header">
{images.map((image)=>(<React.Fragment><img alt="" src={image.src} key={image.id} onClick={setLightboxImage(image.src)} /> <div></div></React.Fragment>))}
</div>
但我想它不会那样工作......我可以以另一种方式处理这个问题,也许是在一个单独的函数中?
另外作为旁注,所有内容都包含在箭头函数组件' const App = () => {return(...)}
'中
解决方案
通过使用括号“()”调用函数,该函数将在初始化时触发。
你可以这样使用:
const [lightboxImage, setLightboxImage] = useState([]);
<div className="header">
{images.map((image)=>
(<React.Fragment>
<img alt=""
src={image.src}
key={image.id}
onClick={() => {setLightboxImage(image.src)}} />
<div></div>
</React.Fragment>))}
</div>
推荐阅读
- amazon-web-services - 如何为 AWS 媒体转换设置分辨率
- java - 如何使用 Apache Beam 创建 tar.gz 文件
- python - 更新 TensorFlow 自定义指标的内部状态(也就是在指标计算中使用 non-update_state 变量)
- android-gradle-plugin - 离子电容条码扫描器
- mysql - 从两部分主键的一部分重复的数据库中删除
- c - 在 Visual Studio Code 中,如何绕过错误限制?“超出错误限制”
- c# - 仅当表稳定时,一旦 SQL Server 表上的数据发生更改,如何在 C# 中触发函数?
- java - 为什么这个 while 循环条件不停止循环?
- python - Pandas Ordered Categorical 未按预期工作
- mysql - 如何在mysql中获取表的转置