【问题标题】:Axios.get() request returning undefinedaxios.get() 请求返回未定义
【发布时间】:2022-01-16 00:50:45
【问题描述】:

在下面的代码中,我尝试使用 axios 获取来自await axios.get('/products/api') 的请求 只是在工作,我可以在控制台中看到数据,但是控制台上返回了 forawait axios.get('/users/api')Undefined 但是当我尝试通过 Postman 获取请求时,我可以得到结果。我卡在这里。

''' const [userdata, setuserdata] = useState([]); const [products, setproducts] = useState([]);

useEffect(() => {
    const fetchUserData = async () => {
        
        const { users } = await axios.get('/users/api')
        setuserdata(users);

        const { data } = await axios.get('/products/api')
        setproducts(data);
    }
    fetchUserData();



}, []);
console.log(products)
console.log(userdata)

【问题讨论】:

  • 而不是“const {users}”尝试“const users”并检查console.log(用户)。也许用户没有从服务器返回或以不同的名称返回

标签: javascript html node.js reactjs express


【解决方案1】:

在您解构您的响应之前,console.log 响应。 我的意思是尝试:

const users = await axios.get('/users/api');
console.log(users)

可能是用户不是默认 axios 数据对象的一部分。 如果您仍然未定义,那么您需要仔细检查您的 api 是否正在返回响应 (POSTMAN)。

【讨论】:

    【解决方案2】:

    将您的代码更新为:

       const users = await axios.get('/users/api')
        setuserdata(users.data);
    
        const products = await axios.get('/products/api')
        setproducts(products.data);
    

    【讨论】:

      【解决方案3】:

      相信你想做的是:

      const [userdata, setUserData] = useState([])
      const [products, setProducts] = useState([])
      
      useEffect(() => {
          const fetchUserData = async () => {
              const users = await axios.get('/users/api')
              setUserData([...userdata, users])
      
              const data = await axios.get('/products/api')
              setProducts([...products, data])
          }
          fetchUserData()
      }, [userdata, products])
      
      console.log(products)
      console.log(userdata)
      

      如果你只是在useEffect 上使用[],它只会在开始时运行一次,但每个内存React 都会对productsuserdata 发出警告。

      认为他们在自己的useEffect 中也能更好地工作。您甚至可以通过创建函数并将路径传递给函数来使代码更简洁。喜欢:

      const getData = async (path) => await axios.get(`/${path}/api`)
      

      【讨论】:

        猜你喜欢
        • 2018-12-20
        • 2018-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多