Lau*_*nce 1 javascript reactjs react-hooks
我正在学习 React Hooks,实际上我正在使用 useEffect 方法。完全没问题,但是我收到了一些关于我的变量声明的警告。这是我写的一个例子:
import React, { useRef, useEffect } from 'react';
function App(){
let containerRef = useRef(null);
let myVariable;
useEffect(){
myVariable = containerRef.children[0];
}
return(
<div className="container" ref={el => containerRef = el}>
<h1>Hey, I'm Laurie </h1>
<p> Nice to e-meet you!</p>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
这只是我所做的一个简单且未完成的示例,用于使用 GSAP 为我的网站制作动画。我使用useRef访问 DOM 元素,我只找到了这个解决方案。但是我的控制台给我写了一些警告,我很迷茫。
我得到的警告:
React Hook useEffect 内部对myVariable变量的赋值将在每次渲染后丢失。要随着时间的推移保留该值,请将其存储在 useRef Hook 中,并将可变值保留在 '.current' 属性中。否则,您可以直接在 useEffect 中移动此变量。
有人可以帮我解决这个问题吗?
小智 7
当你使用 Hook 时,基本上你是在告诉 React 你的组件需要在渲染后做一些事情。React 会记住你传递的函数,并在执行 DOM 更新后调用它。
更多细节
https://reactjs.org/docs/hooks-effect.html#example-using-hooks
关于警告: React 不记得您的myVariable。它将在每次渲染时重新创建。最好使用useState钩子在 useEffect 中设置值并在下一次渲染时记住它。
请记住,始终将 useEffect 中的第二个参数与依赖项数组一起传递。
| 归档时间: |
|
| 查看次数: |
6580 次 |
| 最近记录: |