Heim > Fragen und Antworten > Hauptteil
Ich rufe eine API auf und erhalte die Antwort korrekt, aber außerhalb der Antwortfunktion wird derselbe Antwortwert als leer angezeigt. Ich muss es extern abrufen, wenn die Seite geladen wird. Hier ist der Code:
import React, { useState, useEffect,useRef, useMemo } from 'react'; import axios from 'axios'; function Test() { const [state, setState] = useState([]); useEffect(() => { axios.get(`https://jsonplaceholder.typicode.com/todos/1`) .then(res => { setState(res.data); }) console.log(state) }, []); } export default Test;
P粉8525780752023-09-18 00:30:51
我认为你只需要在useEffect之外的地方安慰这个值,像这样:
import React, { useState, useEffect,useRef, useMemo } from 'react'; import axios from 'axios'; function App() { const [state, setState] = useState({}); useEffect(() => { axios.get(`https://jsonplaceholder.typicode.com/todos/1`) .then(res => { // console.log(res.data) setState(res.data); }) },[]); console.log(state) } export default App;