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