useEffect 监听空数组
时间: 2024-10-08 08:14:21 浏览: 28
`useEffect` 是React hooks之一,用于副作用操作,比如监听事件、处理数据或者设置定时器等。当你传递一个空数组 `[]` 或者 `null` 作为依赖数组(即`dependency array`)给`useEffect`的时候,这个副作用将在组件挂载和卸载时各运行一次,称为“一次性”effect,也叫“初始效果”(side effect on mount and unmount)。
例如,如果你想要在组件挂载时执行一些初始化操作,比如从服务器拉取数据或者设置初次的动画效果,就可以这样做:
```jsx
import React, { useState, useEffect } from 'react';
function MyComponent() {
const [data, setData] = useState(null); // 初始化数据为空
useEffect(() => {
fetchData(); // 这里是你的初始化操作
setData(initialData); // 设置初始数据
}, []);
// ...其他组件逻辑...
return (
<div>
{data && <p>Data loaded: {data}</p>}
</div>
);
}
// fetchData 函数在这里...
```
在这个例子中,`useEffect`会在组件首次渲染(挂载)时执行`fetchData()`,然后更新状态到`initialData`。由于依赖数组是空的,所以在组件卸载(unmount)时不会再次触发`useEffect`。
阅读全文