簡體   English   中英

如何在 JavaScript/React 上向現有 object 添加屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM