亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

未處理的拒絕(TypeError):respo.json 不是函數

未處理的拒絕(TypeError):respo.json 不是函數

動漫人物 2022-12-08 15:44:50
我是 React 的初學者,遇到了一些問題。遇到問題 Unhandled Rejection (TypeError): respo.json is not a function。import React, { useEffect } from "react";import { useState } from "react";import logo from "./logo.svg";import "./App.css";import axios from "axios";function App() {  const { monster, setMonster } = useState([]);  useEffect(() => {    async function fetchData() {      const respo = await axios.get("https://jsonplaceholder.typicode.com/users");      const resp = await respo.data;      setMonster({ monster: [...resp] });    }    fetchData();  }, [monster]);  return (    <div className="App">      <p>{console.log(monster)}</p>    </div>  );}export default App;
查看完整描述

3 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

http://img1.sycdn.imooc.com//6391961e0001969b07420114.jpg

使用 respo.data 代替:


您的響應有一個您需要獲取的數據密鑰。


import React, { useEffect } from 'react';

import {useState} from 'react';

import logo from './logo.svg';

import './App.css';

import axios from 'axios';


function App() {

  const [monster,setMonster]=useState([]);


  useEffect(()=>{

    async function fetchData() {

     const respo=await axios.get('https://jsonplaceholder.typicode.com/users')

     const resp=await respo.data;

     setMonster({monster:[...respo]});


    }


      fetchData();

},[]);

  return (

    <div className="App">

      <p>{console.log(monster)}</p>

    </div>

  );

}


export default App;

工作代碼:https://codesandbox.io/s/elated-platform-1itbi?file =/src/App.js


查看完整回答
反對 回復 2022-12-08
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

您的代碼中有兩個問題:

  1. const {monster,setMonster}=useState([]);

這應該是:

const [monster,setMonster] = useState([]);
  1. const resp = await respo.data;

這應該是:

const resp = respo.data;

respo.data不是承諾,而是 api 的結果。

筆記:

要更新monster,您必須調用setMonster(resp)notsetMonster({ monster: resp })



查看完整回答
反對 回復 2022-12-08
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

只使用 get/then 而不是 async/await 怎么樣?


useEffect(()=>{

    axios.get('https://jsonplaceholder.typicode.com/users')

        .then(response => {

            setMonster({

                monster:[...response.data]

            });

        });

    }

},[monster]);


查看完整回答
反對 回復 2022-12-08
  • 3 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號