检查 React Native 中屏幕是否变得模糊或聚焦?

Pun*_*sal 5 event-listener ussd react-native react-functional-component

我正在用这个

useEffect(() => {
        const navFocusListener = navigation.addListener('didFocus', () => {
        console.log('focus');
    });

    return () => {
        navFocusListener.remove();
    };
  }, []);
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码也尝试了其他侦听器。但没有任何好处,我正在使用react-native-immediate-call包进行ussd拨号,但因为它没有任何回调。因此,我将此函数称为打开的拨号器,用于拨打 USSD 代码。所以现在我希望当 ussd 拨号完成后返回屏幕,并且 api 将调用以获得响应。那么我如何检测 USSD 拨号正在运行或已完成,以便我可以向 api 发出请求。

小智 4

对于焦点监听者;你必须将 'didFocus' 更改为 'focus',如果你使用的是 React navigation v5+,你应该像下面这样更新:

React.useEffect(() => {
    const unsubscribe = navigation.addListener('focus', () => {
      // do something
    });

    return unsubscribe;
  }, []);
Run Code Online (Sandbox Code Playgroud)

您可以从此处查看其文档。