Ama*_*man 5 javascript dictionary setstate reactjs
我已使用 useEffect 获取数据,并在控制台上获取数据。我已调用 setState 方法来更新状态,但 .map 函数不起作用。即使在控制台上也没有发生任何事情。
import React, { useState, useEffect } from "react";
function HomePage() {
const [isFlipped, setIsFlipped] = useState(false);
const [cardData, setCardData] = useState([]);
// useEffect function
useEffect(async () => {
const url = "https://rickandmortyapi.com/api/character";
const fetchData = async () => {
try {
const response = await fetch(url);
const json = await response.json();
const jsonData = json.results;
setCardData(jsonData);
console.log(jsonData);
} catch (error) {
console.log("error", error);
}
};
fetchData();
}, []);
const handleClick = () => {
setIsFlipped(!isFlipped);
};
return (
<>
{cardData.map((c) => {
<h1>{c.id}</h1>;
})}
</>
);
}
export default HomePage;
Run Code Online (Sandbox Code Playgroud)
您的代码有一些错误:
以下代码在代码沙箱中运行,如果您有任何疑问,请告诉我。
export default function HomePage() { {
const [isFlipped, setIsFlipped] = useState(false);
const [cardData, setCardData] = useState(null);
// useEffect function
useEffect(() => { //removed async here
const url = "https://rickandmortyapi.com/api/character";
const fetchData = async () => {
try {
const response = await fetch(url);
const json = await response.json();
const jsonData = json.results;
setCardData(jsonData);
console.log(jsonData);
} catch (error) {
console.log("error", error);
}
};
fetchData();
}, []);
const handleClick = () => {
setIsFlipped(!isFlipped);
};
return (
<>
{cardData && cardData.map((c) => {
return <h1>{c.id}</h1>; //note here: return keyword
})}
</>
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3906 次 |
| 最近记录: |