在React Native中获取后,将数据添加到Json

时间:2017-01-29 16:31:50

标签: json react-native fetch

我有一个api客户端可以很好地从网站上的Json获取信息。我想要的是在从网站获取后向该内容包添加一些新行。

我读到了 .push 功能,但不知道在哪里放入新的ES6格式,并且无法解决Google中的任何信息。

我正在使用:

react-native-cli: 2.0.1
react-native: 0.40.0

这是代码:

const BASE_URL = 'https://example.com/data.json';

customData = [
  {
    autor: 'Mike',
    category: 'category name',
  }
]

function getJsonData() {
  return fetch(BASE_URL)
    .then(response => response.json())
    .then(data => data.items.item)
    .then(myData => myData.push(customData)) // <- Trying to add custom data
    .then(news => news.map(item => {
      return {
        autor: item.author,
        category: item.category,
      }
    })
  )
  //.then(news => news.push(customData)) // <- Also I tried here
}

export { getJsonData }

1 个答案:

答案 0 :(得分:0)

首先,data.items.item未返回您可以与then一起使用的承诺。

使用async / await为您省去麻烦:

async function getJsonData() {
    const response = await fetch(BASE_URL);
    const json = await response.json();

    // Not clear what you're trying to accomplish here but should give
    // you an idea
    data.items.push(customData);
    return json.items.map((item) => {
       return {
         autor: item.author,
         category: item.category,
       }
    });
}