Node.js 在React中显示页面之前发出http请求

Node.js 在React中显示页面之前发出http请求,node.js,reactjs,express,react-redux,Node.js,Reactjs,Express,React Redux,React中不再建议使用ComponentWillUnmount。我想向服务器发送一个请求,查看用户是否已登录,然后在实际显示页面之前更新状态。我不知道如何使用React钩子或React中推荐的方法来实现这一点 如果您熟悉React类生命周期方法,您可以 将效果挂钩用作componentDidMount、componentDidUpdate和 组件将联合卸载 下面演示componentDidMount、componentDidUpdate和componentWillUnmount useEffe

React中不再建议使用ComponentWillUnmount。我想向服务器发送一个请求,查看用户是否已登录,然后在实际显示页面之前更新状态。我不知道如何使用React钩子或React中推荐的方法来实现这一点

如果您熟悉React类生命周期方法,您可以 将效果挂钩用作componentDidMount、componentDidUpdate和 组件将联合卸载

下面演示componentDidMount、componentDidUpdate和componentWillUnmount

useEffect(() => {

  // function to run to check if user is log in
 

},[]) //<-- similar to componentDidMount , empty array, run once.


useEffect(() => {

}, [state]) //<-- similar to componentDidUpdate. Run when state changes.


useEffect(() => {

  return () => cleanUp //<-- similar to componentWillUnMount, clean up functions.
}, [])
useffect(()=>{
//要运行以检查用户是否登录的函数
},[]) // {
},[州]//{
return()=>cleanUp//{
const[loggedIn,setLoggedIn]=useState(false)//将登录初始状态设置为false
useffect(()=>{
const checkLogin=async()=>{
常量检查=等待获取(api);
如果(检查){
setLoggedIn(true)//将登录状态设置为true
}
}
checkLogin()
},[]) //
const Component = () => {
   const [ loggedIn, setLoggedIn ] = useState(false) //set login initial state to false

   useEffect(() => {
       const checkLogin = async() => {
             const checking = await fetch(api);
             if (checking) {
                  setLoggedIn(true)  //set login state to true
             }
       }
       checkLogin()


   },[]) //<-- run once when component mounted


   return (<div>{ loggedIn ? 'Logged In' : 'Not Logged In' }</div>)
}