我正在開發一個反應應用程式,但我面臨這個錯誤->“未捕獲的型別錯誤:無法讀取未定義的屬性(讀取'長度')”。如何解決這個問題?我的代碼是:
import React from "react";
import { Grid, CircularProgress } from "@material-ui/core";
import Post from "./Post/Post";
import useStyles from "./styles";
import { useSelector } from "react-redux";
const Posts = () => {
const posts = useSelector((state) => state.Posts);
const classes = useStyles();
console.log(posts);
return (!posts.length ? <CircularProgress/> :(
<Grid className={classes.container} container alignItems="stretch" spacing={3}>
{
posts.map((post)=> (
<Grid key={post._id} item xs={12} sm={6}>
<Post post = {post} />
</Grid>
))
}
</Grid>
)
);
};
export default Posts;
uj5u.com熱心網友回復:
使用!post || !post.length或!posts?.length
uj5u.com熱心網友回復:
你可以試試這樣的,!posts?.length > -1 ?。當您檢查 post 陣列是否為空時。
uj5u.com熱心網友回復:
嘗試posts && <Grid>
uj5u.com熱心網友回復:
該錯誤表明帖子的型別是未定義的。當您從狀態物件中的Posts獲取該值時,這意味著Posts未在您的狀態中初始化。([])嘗試在初始狀態物件中使用空陣列初始化“帖子” 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/429548.html
標籤:javascript 反应
上一篇:如何在反應中發送動態道具
下一篇:函式遞回建議
