首页 > 解决方案 > 如何使用 useEffect 加载

问题描述

我尝试使用 Route 和使用参数提供带有参数的数据,从服务器获取数据并打印它。但 useEffect 不起作用

export default function Board({ match }) {
  const [content, setContent] = useState([]);

  useEffect(() => {
    getOnePost(match.params.number).then((response) => {
      setContent(response);
    });
    console.log(content);
  }, []);

  return (
    <div>
      <div>hi</div>
    </div>
  );
}
          <PrivateRoute
            path="/board/:number"
            authenticated={this.state.authenticated}
            component={Board}
          />

在此处输入图像描述

标签: reactjs

解决方案


我认为 getonepost 函数未定义为异步函数。请使用此代码。

useEffect(() => {
getOnePost(match.params.number).then((response) => {
  setContent(response);
  console.log(content);
});

}, []); 或者你也可以试试这个。

const [ update, setUpdate]=useState(true);

 useEffect(() => {
          console.log(content);
        });
        
      }, [update]);

    getOnePost(match.params.number).then((response) => {
          setContent(response);
          setUpdate(!update);
    }

推荐阅读