Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 定义的常量为Array时,Array.map不是函数_Reactjs_Axios_Frontend_Fetch_Restapi - Fatal编程技术网

Reactjs 定义的常量为Array时,Array.map不是函数

Reactjs 定义的常量为Array时,Array.map不是函数,reactjs,axios,frontend,fetch,restapi,Reactjs,Axios,Frontend,Fetch,Restapi,我正在从一个链接获取rest集合,但是我得到了“映射不是函数”错误。为什么我会得到这个错误。请看我的密码 import React, {Component, useState, useEffect} from 'react' import reactDom from 'react-dom' import './App.css' import axious from 'axios' const App = () => { const [user, userset] = useState

我正在从一个链接获取rest集合,但是我得到了“映射不是函数”错误。为什么我会得到这个错误。请看我的密码

import React, {Component, useState, useEffect} from 'react'
import reactDom from 'react-dom'
import './App.css'
import axious from 'axios'

const App = () => {
  const [user, userset] = useState([])
  useEffect(() => {
    axious
      .get('http://dummy.restapiexample.com/api/v1/employees')
      .then(response => userset(response.data))
      .catch(e => console.log(e))
  }, [])
  return (
    <React.Fragment>
      {user.map(row => (
        <h5>{row.employee_name}</h5>
      ))}
    </React.Fragment>
  )
}
export default App
import React,{Component,useState,useffect}来自'React'
从“react dom”导入react dom
导入“./App.css”
从“axios”导入axious
常量应用=()=>{
const[user,userset]=useState([])
useffect(()=>{
轴心的
.get('http://dummy.restapiexample.com/api/v1/employees')
.then(response=>userset(response.data))
.catch(e=>console.log(e))
}, [])
返回(
{user.map(行=>(
{row.employee_name}
))}
)
}
导出默认应用程序
我还用下面的代码替换了.map部分,但是当我使用下面的代码时,屏幕上不会显示任何内容

  {Object.entries(user).map((row)=><p key={Math.random()}>{row.employee_name}</p>)}
{Object.entries(user.map((行)=>

{row.employee_name}

)}
从您共享的URL和代码判断,您似乎在参数to userset函数中又缺少了一个.data

请记住,response.data将返回响应体JSON,但生成的对象具有以下结构

{
"status": "value",
"data": [ <user object> ]
}
{
“状态”:“价值”,
“数据”:[]
}
因此,为了引用用户数组,应该使用response.data.data


祝你好运

从您共享的URL和代码判断,您似乎在parameter to userset函数中又缺少了一个.data

请记住,response.data将返回响应体JSON,但生成的对象具有以下结构

{
"status": "value",
"data": [ <user object> ]
}
{
“状态”:“价值”,
“数据”:[]
}
因此,为了引用用户数组,应该使用response.data.data


祝你好运

我不知道为什么您的代码不工作,但无论如何,使用异步函数而不是
then
,这样编写代码会正常工作是一个很好的做法

useEffect(async () => {
    try {
        const response = await axios.get('http://dummy.restapiexample.com/api/v1/employees')
        userset(response.data)
    catch (err) {
        console.log(err)
    }
}

阅读async await的解释。

我不确定您的代码为什么不工作,但无论如何,使用异步函数而不是
then
,这样编写代码会正常工作是一个很好的做法

useEffect(async () => {
    try {
        const response = await axios.get('http://dummy.restapiexample.com/api/v1/employees')
        userset(response.data)
    catch (err) {
        console.log(err)
    }
}

阅读async Wait的解释。

您确定从axious调用获取数据吗?您确定从axious调用获取数据吗?