如何在React Native中全局监听外部链接点击?

问题描述 投票:0回答:1

我目前正在开发一个 React Native 项目,我正在寻找有关如何处理应用程序内的外部链接点击的指导。具体来说,我希望能够检测用户何时单击指向应用程序外部的链接(例如,指向网站的链接),并在访问该链接之前显示弹出窗口/警报。

有人可以提供如何实现此功能的详细解释或代码示例吗?我非常感谢任何正确方向的见解或指示。

我尝试在主导航器中使用

Linking.addEventListener('url', handleUrl);
进行检查,但我无法观察到侦听器被触发。此外,我尝试了
AppState.addEventListener
,它确实触发了,但我无法确保它仅在用户单击 URL 时触发。

react-native expo
1个回答
0
投票

使用

redux-toolkit
,您可以编写一个
custom middleware
来拦截自定义操作(例如“
LINK_TAPPED
”)并提醒用户他们将被重定向到外部链接。

可以使用

createAction
创建自定义操作,如下

const linkTapped  = createAction('LINK_TAPPED');

然后,在自定义中间件中,如果操作类型为“

LINK_TAPPED
”,您可以有条件地显示警报。

您可以尝试一下这种小吃,它大致可以满足您的要求。 https://snack.expo.dev/@j_sagar/external-link-listener

© www.soinside.com 2019 - 2024. All rights reserved.