Use Effect
·1 分钟
RN
Use Effect
目录
useEffect>
useEffect #
使用
Effect Hook
- useEffect 类似一个 class 的生命周期;
- UI每次需要更新会调用 useEffect;
- 所以需要防止 useEffect 中重复刷新,添加参数让 useEffect 对比,使 useEffect 自动对比需不需要执行;
- 一个方法内可以有多个 useEffect。
// navigation 控制是否需要执行这个 useEffect
useEffect(() => {
navigation.setOptions({headerShown: false});
}, [navigation]);
// page 控制是否需要执行这个 useEffect
useEffect(() => {
fetchPhotoListWith(page)
}, [page]);
// 或者多个参数 控制是否需要执行这个 useEffect
// 如果数组中有多个元素,即使只有一个元素发生变化,React 也会执行 effect。
useEffect(() => {
navigation.setOptions({headerShown: false});
fetchPhotoListWith(page)
}, [navigation, page]);