reactjs - 反应空 useEffect
问题描述
尽管我使用 React 已经有一段时间了,但我无法弄清楚这一点。为什么空的 UseEffect 会导致组件重新渲染?问题是我得到了两个console.logs。天呐!
function App() {
useEffect(() => {
}, [])
console.log('render')
return (
<h1>Hello world</h1>
);
}
解决方案
EmptyuseEffect
订阅了所有组件的 props。
useEffect(() => console.log('rerendered due to new props'));
AnyuseEffect
在第一个组件渲染后至少工作一次。所以你可以像componentDidMount
.
如果您componentDidMount
只想像这样使用它,则必须传递一个空数组作为第二个参数。
useEffect(() => console.log('after first render'), []);
订阅特定道具:
useEffect(() => console.log(' after first render or message updated', props.message), [props.message]);
推荐阅读
- javascript - JavaScript RegEx 用于匹配长度在 1 到 5 个字符之间且不应以空格开头和结尾的字符串
- angular - 错误:角度 4 或角度 6 中的 StaticInjectorError(AppModule)
- javascript - 安装屏幕阅读器
- php - 在 php 中使用 ssh 连接到远程服务器
- javascript - 如何在节点js中的foreach之后发送respose?
- html - 使用 XML 显示图像列表
- laravel - 在 lumen 中,如何在 trait 中调用另一个 trait 的函数
- angular - 将用户对象存储在 localstroage 中是否合适?
- asp.net - Telerik Kendo MVC 调度程序 - 无法移动事件
- php - /wp-admin/admin.php? 给出 404 错误