我目前正在开发一个 React Native 项目,我正在寻找有关如何处理应用程序内的外部链接点击的指导。具体来说,我希望能够检测用户何时单击指向应用程序外部的链接(例如,指向网站的链接),并在访问该链接之前显示弹出窗口/警报。
有人可以提供如何实现此功能的详细解释或代码示例吗?我非常感谢任何正确方向的见解或指示。
我尝试在主导航器中使用
Linking.addEventListener('url', handleUrl);
进行检查,但我无法观察到侦听器被触发。此外,我尝试了 AppState.addEventListener
,它确实触发了,但我无法确保它仅在用户单击 URL 时触发。
使用
redux-toolkit
,您可以编写一个 custom middleware
来拦截自定义操作(例如“LINK_TAPPED
”)并提醒用户他们将被重定向到外部链接。
可以使用
createAction
创建自定义操作,如下
const linkTapped = createAction('LINK_TAPPED');
然后,在自定义中间件中,如果操作类型为“
LINK_TAPPED
”,您可以有条件地显示警报。
您可以尝试一下这种小吃,它大致可以满足您的要求。 https://snack.expo.dev/@j_sagar/external-link-listener