小编I3a*_*osh的帖子

如何通过 TypeScript 正确使用 Object.entries 和 map([key,value])

我正在使用 TypeScript 学习 React,我需要将响应数据转换为一个对象。

我编写了无需打字稿即可运行的代码。你能告诉我如何做到类型安全吗?

从响应中我收到以下数据:

 {
        "-MnI78G4UBVNSdurDCQK": {
            "amount": 1,
            "id": 1,
            "image": {
                "url": "https://store.storeimages.cdn-apple.com/4668/as-images.apple.com/is/iphone-13-pro-family-hero?wid=940&hei=1112&fmt=png-alpha&.v=1631220221000"
            },
            "name": "iPhone 13 Pro",
            "price": 5299
        },
      

  "-MnI78IKVgJnmF_8XTZ6": {
        "amount": 2,
        "id": 2,
        "image": {
            "url": "https://cdn.x-kom.pl/i/setup/images/prod/big/product-new-big,,2019/7/pr_2019_7_17_13_43_4_952_00.jpg"
        },
        "name": "Macbook Air M1 16gb 512gb",
        "price": 7999
    }
}
Run Code Online (Sandbox Code Playgroud)

通过使用 object.entries 我正在像这样转换数据:

const transformedData = Object.entries(data).map(([key, value]) => {
      return {
        ...value,
        id: key,
      };
    });
Run Code Online (Sandbox Code Playgroud)

它可以工作,但没有类型安全。

typescript

5
推荐指数
1
解决办法
1万
查看次数

将 Next.js 与 redux 和 apollo graphql 结合起来是个好方法吗?

我是 Next.js 和 GraphQL 世界的新手。到目前为止,我一直在使用 React 与 reduxjs 和 axios 进行 API 调用。我会学习更高级的东西,所以这是我的问题。如果我使用 apollo graphql,我有哪些本地状态管理选项?它可以由 apollo 本身处理,还是我应该使用像 redux store 这样的外部工具?

apollo reactjs graphql react-apollo apollo-client

2
推荐指数
1
解决办法
1183
查看次数