我正试图找出如何将‘active'属性添加到我从最初没有该属性的API获取的元素中。之后每当我对项目进行console.log时,它都会给出正确的ID(最初在API中(,但"活动">是未定义的
useEffect(() => {
const fetchList = async () => {
try {
const request = await fetch(URL);
const response = await request.json();
response.map((user) => ({ ...user, active: true }));
setUserList(response);
} catch (error) {
console.log(error);
}
};
fetchList();
}, []);
return <div onClick={() => console.log(user.id, user.active)}></div>
map
返回新数组,您忘记了分配response.map((user) => ({ ...user, active: true }));
的结果,所以您必须将映射结果分配给任何变量,如
const updatedResponse = response.map((user) => ({ ...user, active: true }));
您可以使用以下内容,但必须使用let
来代替response
的常量,否则您将获得常量变量的赋值类型错误
response = response.map((user) => ({ ...user, active: true }));