Estoy creando un sitio web de redes sociales de un youtuber y tengo un problema en la parte de frontend (React). Mi error es: no se pueden leer las propiedades de nulo (leyendo '_id'). Lo he comprobado muchas veces comentando cada parte y el problema está en la publicación. Ayuda.
const Account = () => { const dispatch = useDispatch(); const { loading, error, posts } = useSelector((state) => state.myPosts); const { error: likeError, message } = useSelector((state) => state.like); useEffect(() => { dispatch(getMyPosts()); }, [dispatch]); useEffect(() => { if (error) { alert.error(error); dispatch({ type: "clearErrors" }); } if (likeError) { alert.error(likeError); dispatch({ type: "clearErrors" }); } if (message) { alert.success(message); dispatch({ type: "clearMessage" }); } }, [alert, error, message, likeError, dispatch]); return loading ? ( <Loader /> ) : ( <div className="account"> <div className="accountleft"> {posts && posts.length > 0 ? posts.map((post) => ( <Post key={post._id} postId={post._id} caption={post.caption} postImage={post.image.url} likes={post.likes} comments={post.comments} ownerImage={post.owner.avatar.url} ownerName={post.owner.name} ownerId={post.owner._id} isAccount={true} isDelete={true} /> )) : ( <Typography variant="h6">You have not made any post</Typography> )} </div> <div className="accountright"></div> </div> ); }; export default Account;Esto parece ser un problema con el objeto de publicación que está recorriendo actualmente como nulo. Debe verificar que el valor sea nulo dentro de su bucle.
{ posts && posts.length > 0 ? ( posts.map((post) => post ? ( <Post key={post._id} postId={post._id} caption={post.caption} postImage={post.image.url} likes={post.likes} comments={post.comments} ownerImage={post.owner.avatar.url} ownerName={post.owner.name} ownerId={post.owner._id} isAccount={true} isDelete={true} /> ) : null ) ) : ( <Typography variant="h6">You have not made any post</Typography> ); } editar: a diferencia de lo que otros parecen estar diciendo, esto no es un problema con la propiedad _id o el ciclo de publicaciones, ya que esto no crearía el mismo error. Está intentando leer la propiedad _id de la post y encuentra que post es nula, no la propiedad _id .