根据此处的文档订阅和取消订阅 Netinfo 侦听器 - https://github.com/react-native-netinfo/react-native-netinfo
我在一个通用文件中定义了监听器方法并导出它
/* util.js */
function listener(){
Netinfo.addEventListener(state => /* something in here */);
}
export { listener };
然后在一个 React 组件中
import { useEffect } from 'react';
import { listener } from 'util';
const exampleComponent = props => {
// then on useeffect
useEffect(() => {
listener() // to subscribe
return () => listener(); // to unsubscribe
}, []);
return <ExampleComponent />
}
如果我想将侦听器设置为可以在任何地方设置的可导出方法,这是设置 Netinfo 侦听器的正确方法吗(尽管按照逻辑,它应该只在应用程序的主文件上设置,但只是为了提问) ?
我不确定listener
第一次调用如何订阅 Netinfo 监听器,再次调用它会取消订阅它。