React Error: Rendered more hooks than during the previous render. when using useState and map
React Error: Rendered more hooks than during the previous render. when using useState and map
我有从我的 Api 帖子中获取并显示它的 React 代码。
当我尝试显示带有 map
的帖子时,我在 map
中使用了 useState
,但出现了这个错误:
Error: Rendered more hooks than during the previous render.
当我删除 useState 时它起作用了。
这是我的代码
import {useState,useContext,useEffect} from "react"
import {username} from "./username"
const PostDisplay = (post) => {
const [try, setTry] = useState("")
return (
<div>Hello</div>
);
}
function Home(){
const [loggedIn,setLoggedIn] = useContext(username)
const [posts, setPosts] = useState([])
useEffect(() => {
fetch("/posts")
.then((response) => response.json())
.then((data) => {
setPosts(data)
console.log(data)
})
}, [])
if(loggedIn){
return (
<div align="center">
<br/>
<br/>
<div>
{posts.map(PostDisplay)}
</div>
</div>
)
}
else{
return (
<div>
<h1 align="center">You are not logged in!</h1>
</div>
)
}
}
export default Home
请帮助我。
您不能像在地图中那样分配 React 组件
{posts.map((post) => <PostDisplay post={post}/>)}
遍历数组并将值作为 prop 传递给组件。
const PostDisplay = ({post}) => {
const [try, setTry] = useState("")
return (
<div>Hello </div>
);
}
我有从我的 Api 帖子中获取并显示它的 React 代码。
当我尝试显示带有 map
的帖子时,我在 map
中使用了 useState
,但出现了这个错误:
Error: Rendered more hooks than during the previous render.
当我删除 useState 时它起作用了。
这是我的代码
import {useState,useContext,useEffect} from "react"
import {username} from "./username"
const PostDisplay = (post) => {
const [try, setTry] = useState("")
return (
<div>Hello</div>
);
}
function Home(){
const [loggedIn,setLoggedIn] = useContext(username)
const [posts, setPosts] = useState([])
useEffect(() => {
fetch("/posts")
.then((response) => response.json())
.then((data) => {
setPosts(data)
console.log(data)
})
}, [])
if(loggedIn){
return (
<div align="center">
<br/>
<br/>
<div>
{posts.map(PostDisplay)}
</div>
</div>
)
}
else{
return (
<div>
<h1 align="center">You are not logged in!</h1>
</div>
)
}
}
export default Home
请帮助我。
您不能像在地图中那样分配 React 组件
{posts.map((post) => <PostDisplay post={post}/>)}
遍历数组并将值作为 prop 传递给组件。
const PostDisplay = ({post}) => {
const [try, setTry] = useState("")
return (
<div>Hello </div>
);
}