react Native 每次进入页面都会执行的hooks

admin2024-04-03  3

1、 使用 useFocusEffect 

import {useFocusEffect} from '@react-navigation/native';  

  useFocusEffect(React.useCallback(() => {
		console.log('激活/进入当前页面');
  }, []));

2、使用 navigation.addListener

import { useNavigation } from '@react-navigation/native';

  const navigation = useNavigation()  

  useEffect(() => {
    const unsubscribe = navigation.addListener("focus", () => {
      console.log("当前页面获取到焦点了。")
    });
    return () => {
      unsubscribe();
    };
  }, [navigation]);

        不同点:useFocusEffect是第一次进入这个页面以及后续进入都会执行的函数。

navigation.addListener 是第一次激活当前页面的时候,不会执行,后续每次返回到这个页面的时候,才会执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!