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

类型“never”上不存在属性“map”

盛城
2023-03-14

在下一步中发出axiosget请求时。jsgetServerSideProps函数,我一直在map方法上遇到这个恼人的typescript下划线错误。我已经经历了所有修复的可能性,但无法解决它。请求实际上运行良好,并提取数据,但我只需要消除错误。有什么建议吗?

 export const getServerSideProps: GetServerSideProps = async () => {

  const { data } = await api.get("/users/index", { //axios api
    params: {
      _limit: 12
      _sort: "created_at", 
      _order: "desc"
    }
  })

  
  const users = data.map(user => { // <-error line under map method
    return {
      id: user.id,
      name: user.name,
      created_at: user.created_at,
  
    }
  });

共有1个答案

叶明辉
2023-03-14

我认为在axios的0.22或0.23中,他们更改了Typecript签名,所以现在您必须转换data,请参阅更改日志以获取更多信息。要解决这个问题,您可以传递一个泛型:

type User = {
   id: string
   name: string
   created_at: string
}

const { data } = await api.get<User[]>("/users/index", { //axios api
    params: {
      _limit: 12
      _sort: "created_at", 
      _order: "desc"
    }
})

否则,您可以直接在现场打字:

const users = (data as User[]).map(user => { // <-error line under map method
    return {
      id: user.id,
      name: user.name,
      created_at: user.created_at,
  
    }
  });
 类似资料: