首页 > 解决方案 > 在 react.js setState 方法中重新格式化响应数据

问题描述

我最近试图将 Vue 项目转换为 React 项目。这是我面临的一个问题。

我有一个格式为:

0:
iteration: -1
    state:
        description: null
        id: 1
        label: "Start"
        slug: "start"

我希望将其保存到我的组件状态中,但格式不同:

0:
iteration: -1
description: null
id: 1
label: "Start"
slug: "start"

这样做的原因是能够id通过调用 response.data.id 而不是 response.data.state.id 来获取对象的

标签: reactjs

解决方案


您可以映射数据并通过从中返回所需的对象来重新格式化它

const newData = data.map(item => ({
   iteration: item.iteration,
   ...item.state
}));

现在 newData 将具有您想要的格式。如果您想在数据中拥有更多的项目键,您可以在上面返回的对象中进行修改


推荐阅读