Javascript useEffect-被跟踪变量未更改时的无限循环
我对使用effect是个新手,但是读了医生我的问题似乎没有任何意义。 在文件的开头,我实例化了一个状态和一个变量Javascript useEffect-被跟踪变量未更改时的无限循环,javascript,reactjs,Javascript,Reactjs,我对使用effect是个新手,但是读了医生我的问题似乎没有任何意义。 在文件的开头,我实例化了一个状态和一个变量 const [moduleDisplay, setModule] = useState("") let moduleRender = <div>Hello World</div> useEffect(() => { setModule(moduleRender); },[moduleRender]); const[modu
const [moduleDisplay, setModule] = useState("")
let moduleRender = <div>Hello World</div>
useEffect(() => {
setModule(moduleRender);
},[moduleRender]);
const[moduleDisplay,setModule]=useState(“”)
let modulender=你好世界
useffect(()=>{
设置模块(模块化器);
},[modulender]);
根据我在第一次渲染时观察到的情况,实际渲染的组件moduleDisplay
以开头”
,useEffect函数被挂载并以某种方式触发,moduleDisplay
的状态更改为modulender
,这是Hello World
组件,触发重新渲染
但是,在任何其他点上都没有使用这些变量/函数(除了在实际渲染中渲染moduleDisplay),因此我看不出moduleRender在任何情况下、形状或形式上是如何更改的。但是这会导致无限的渲染循环,我不明白为什么。useState
内部useffect
会导致重新渲染。如果重新渲染
modulender=Hello World
再次被分配到Hello World
,并点击useffect
在这里,您可以找到一篇关于您的问题的非常好的文章:
我认为每次组件重新呈现时,都会调用
let moduleRender=Hello World
,这会触发再次调用useffect