[英]How to add property to existing object on JavaScript/React
我正在从 API 获取数据,我想将属性添加到我的 object。 我目前正在添加图像属性,但我需要在 object 内部更深地添加这一层。
你能给我一个提示如何实现吗?
我的代码:
const Review = () => {
const url = "https://jsonplaceholder.typicode.com/users";
const [people, setPeople] = useState(null);
const fetchPeople = async () => {
try {
const response = await fetch(url);
const data = await response.json();
let test = Object.entries(data).map((people) => ({
...people,
image: "image url goes here",
}));
setPeople(test);
} catch (error) {
console.error(error);
}
};
useEffect(() => {
fetchPeople();
console.log(people);
}, []);
Object.entries 返回一个数组 [index, value]。 您只需要将图像属性添加到 object 的值。
fetch("https://jsonplaceholder.typicode.com/users").then(r => r.json()).then(data => { const newData = Object.entries(data).map(people => { people[1].image = "some image here" return people; }); console.log(newData); });
使用 object.entries 是个坏主意:D 我的问题的解决方案是:
const fetchPeople = async () => {
try {
const response = await fetch(url);
const data = await response.json();
const peopleWithImages = data.map((person, index) => {
return {
...person,
image: `https://robohash.org/?set=set${index + 1}`,
};
});
setPeople(peopleWithImages);
} catch (error) {
console.error(error);
}
};
useEffect(() => {
fetchPeople();
}, []);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.