【发布时间】:2022-01-12 18:35:47
【问题描述】:
我有以下数组:
[
"/test/static/media/its9-odc_d.9d5de720.png",
"/test/static/media/its9-odc_m.178c1879.png",
"/test/static/media/its9-odc_w.5e70ca59.png",
"/test/static/media/its9-odc_y.8cf41473.png"
]
当我点击一个按钮时,_d、_m、_w 或 _y 被保存为 React 状态 (timeperiods)。
我需要一个函数,它将与我的timeperiods 匹配的字符串保存在另一个 React 状态 (imageSource),以便我可以渲染图像。
这是我迄今为止尝试过的,但我总是返回 'yay',当我尝试 setImageSource 时,我收到无限循环错误。
const imageForTimeperiod = () => {
images.forEach((img) => {
if (timeperiod && img.split('.')[0].includes(timeperiod)) {
console.log('yay');
// setImage(img);
}
})
};
{Object.entries(Timeperiods.timeperiods).map((entries) => {
return (
<Button onClick={() => setTimeperiod(entries[1].file)}>
{entries[0]}
</Button>
);
})}
最后:
我点击按钮1 Day,它将时间段设置为_d,并显示图像/test/static/media/its9-odc_d.9d5de720.png。
【问题讨论】:
-
setImage是否更新或影响images或timeperiod? -
您希望在单击按钮时更改图像吗?
-
SILENT:执行此操作时出现无限循环错误。 @HassanImam 是的,这就是我想要实现的目标。