当前位置: 首页 > 知识库问答 >
问题:

在react中获取数据

韩征
2023-03-14

我是个新手,所以我不知道该怎么称呼它。因此,如果以前有人问过这个问题,我很抱歉。我可能想做的是映射数据,但我不知道如何做。

componentDidMount() {
    fetch("https://reqres.in/api/users?page=3")
    .then(data => {return data.json()})
    .then(datum => this.setState({client:datum.data}));
}

以上是我的提取组件。从API获取的数据包括id、lastname、firstname。但是,我想分配id作为鼻涕虫,然后将firstname lastname更改为name

因此,与其在客户机阵列中看到这一点,

id:7
first_name:"Michael"
last_name:"Lawson"

我想看到这样的东西:

slug:7
name:"Michael Lawson"

共有3个答案

阎嘉荣
2023-03-14

若API响应很简单,那个么您可以编写自己的函数并将其映射到那个里。但是,如果有大量数据,您必须映射几乎所有可以使用GRAPHQL的字段。创建将进行API调用和响应的服务的最佳方法将转到graphql(您的模式是在这里编写的),它将返回您映射的值。

红智鑫
2023-03-14

这实际上是一个JavaScript问题。

假设您从API调用接收到类似的内容:

data = [
  { id: 7, first_name: 'Michael', last_name: 'Lawson' },
  { id: 8, first_name: 'Joshua', last_name: 'Milton' },
]

您可以简单地使用Array.map()创建一个新数组,如以下示例:

componentDidMount() {
  fetch("https://reqres.in/api/users?page=3")
    .then(data => { return data.json() })
    .then(datum => {
      const results = datum.data.map(x => {
        return {
          slug: x.id,
          name: x.first_name + ' ' + x.last_name
        }
      })
      this.setState({ client: result });
    });
}

希望这有帮助!

阎自怡
2023-03-14

这对您很有用:

const list = [
  {
    id: 7,
    first_name: 'Michael',
    last_name: 'Lawson',
  },
];

function dataToState(data) {
  return data.map(item => {
    const { id: slug, first_name, last_name } = item;
    return { slug, name: first_name + ' ' + last_name };
  });
}

console.log(dataToState(list));
 类似资料:
  • 问题内容: 我正在尝试通过我的应用程序建立路由器链接, 在这种情况下,我有三个文件。 我在Book的内部建立了一个仅在悬停时才会出现(在书的封面上) 这将带我到/ details / 12345(isbn10号) 我很难理解的是例如在按下时如何 操作,或者是否可以在以后使用零件创建像过滤器一样的方法 由于在将安装成… 后来,我想抓住它,这样我就可以将自己的内部 问题答案: 为了在您的组件中接收路径

  • 我正在尝试使用< code>URLSearchParams从< code>pid参数中获取< code > xsoqsvpbatbrya 94 zuxs 。 下面是我的网址:< code > http://localhost:3000/edit-product?PID = z 4 hlrhgz 1 kkiwlevkm 6 这是我的代码: 知道为什么我会收到以下错误吗:< code>TypeErro

  • 我正在尝试使用新的reactuseReucker API获取一些数据,并停留在我需要异步获取它的阶段。我只是不知道如何:/ 如何将数据提取放在switch语句中,还是不应该这样做? 我试图这样做,但它不与异步工作;

  • 问题内容: 我正在开发一个React应用程序。我有一个Loading组件,这是一个等待动画的动画。我想根据调用它的组件在此Loading组件中添加一条消息。 这是我如何调用我的Loading组件(this.state.displayLoading为true或false): 我想在我的变量loadingFrom中获取“ LoginForm”,它是className。也许这不是正确的方法。 问题答案:

  • 我在我的项目中使用react-router-dom 4.0.0-beta.6。我有一个代码如下: 我想在组件中获取查询参数。我找到了参数,如下所示:,因此未解析。 什么是正确的方法来获得查询参数与反应路由器v4?

  • 我怎么能得到的数据采集器的值在反应图框?我使用自定义组件。 我使用2个组件第一个是所谓的与下面的代码: 另一个组件叫做,它包含以下逻辑: