下面是我试图更改被点击按钮的 colored颜色 的代码.计划是有更多的按钮(一周中的每一天一个).单击时-更改所单击按钮的 colored颜色 ,并将所有其他按钮 colored颜色 重置为默认 colored颜色 .现在,我正在硬编码InitialArr[0].color=‘red’,但计划将其放入一个if循环中.当我单击该按钮时,将调用changeColorB2,但第一个按钮的 colored颜色 没有变化.蒂娅.
const initialArr = [
{
id: 1,
color: "#e3e3e3",
text: "Mon, 11",
},
{
id: 2,
color: "#e3e3e3",
text: "Tue, 12",
},
];
const changeColorB2 = (buttonInfo) => (e) => {
console.log("Callllllleedddd ", buttonInfo);
initialArr[0].color = "red";
};
const buttonsListArr = initialArr.map((buttonInfo) => (
<TouchableOpacity
style={{ backgroundColor: buttonInfo.color, flex: 1, padding: 15 }}
onPress={changeColorB2(buttonInfo)}
key={buttonInfo.id}
>
<Text>{buttonInfo.text}</Text>
</TouchableOpacity>
));
<View style={{ flex: 1, marginRight: -1 }}>{buttonsListArr}</View>;