首页 > 解决方案 > 状态值在反应 js 中未定义

问题描述

我从后端获取数据并将其存储到状态(帖子)中。当我使用 post.name 时,它​​显示未定义。

const [post, setPost] = useState([]);
   
    const getAllUser = async () => {
      const response = await fetch("http://localhost:4000/getpost");
      response.json().then((res) => setPost(res.data.Post));
      // console.log(post);
    };
    
    
    useEffect(() => {
      getAllUser();
    }, []);
    
    const component = post.component;  // value is undefine
    console.log(component);

标签: reactjs

解决方案


您需要在访问 post.name 之前验证是否填充了 post。

如果你使用 babel,你可以这样做:

post?.name

如果你不使用 babel:

post ? post.name : 'empty'

推荐阅读