代码之家  ›  专栏  ›  技术社区  ›  Mir-Ismaili

react组件意外重置

  •  2
  • Mir-Ismaili  · 技术社区  · 3 年前

    是否存在导致react组件完全重置(而不仅仅是重新渲染)的特殊情况?

    我指的是什么 重置 ?

    将所有状态恢复为其默认值(在 useState() )你在管理我所有的 useEffect() 回调(即使依赖项列表为空( [] ))就像另一个或一个新组件一样!


    这个精彩的事件发生在我的一个组件的生命周期中(在对这个组件和其他组件进行了大量正确的重新渲染之后)。我不知道为什么!我认为这是一个不可能的事件:

    export default function Project (props) {
      const [temp, setTemp] = useState(false)
      const tempRef = useRef(false)
      console.debug({ temp }, tempRef)
    
      useEffect(() => {
        console.debug('INITIALIZATION:', { temp }, tempRef)
        setTemp(true)
        tempRef.current = true
      }, [])
    
      // ...
    }
    

    enter image description here


    react-router-dom@6.0.0-beta.8 我在项目中使用的。但我不能改变它,因为这个项目的规模和它的大量使用。


    更新:此组件的所有父级都按预期工作。即使在此事件之后(对于此组件)。

    0 回复  |  直到 3 年前
    推荐文章