react在启动项目之后,每次刷新页面,是否此生命周期都会执行一次?刷新页面本质是项目重新加载吗?

在React的App.tsx中有生命周期方法,

  useEffect(() => {
    initAllState()
  }, [])

请问
1、在启动项目之后,每次刷新页面,是否此生命周期都会执行一次?刷新页面本质是项目重新加载吗?
2、如果不是项目重新加载(状态不会消失),请问如何让initAllState只执行一次呢(因为要请求网络)?

阅读 747
1 个回答
  1. 是的。每次刷新页面,页面里的内容就都被清空了,然后所有 JS 都会重新执行。至于生命周期是否执行一次,要看你怎么写的,一般来说是一次。
  2. 刷新页面本质是重新加载和执行所有资源。
  3. 要让它只执行一次,可以在 initAllState 函数里面做处理,比如加入一个局部变量记录是否 inited
推荐问题
logo
Microsoft
子站问答
访问
宣传栏