当我发送包含我的应用程序链接的电子邮件时,我是否发送我的网站“www.example.com”的 URL,然后重定向到我的应用程序?
当我解析并记录网址时:
const { hostname, path, queryParams } = Linking.parse(url);
然后当完整网址为:
http://www.example.com/confirm?code=abcd
我得到的网站网址:
主机:www.example.com,路径:确认和查询参数:{“code”:“abcd”}
当完整网址为:
myAppScheme:///confirm?code=abcd
时
我得到主机:确认,路径:null和queryParams:{“code”:“abcd”}
因为当我提供网站 www.example.com 时,会重定向到另一个屏幕,这不适用于:
const linking = {
prefixes: [prefix],
config: {
screens: {
ConfirmAccount: {
path: "confirm",
},
NotFound: '*',
}
},
我认为如果您使用像 myAppScheme://confirm/abcd (scheme://[path]/[parameter]) 这样的 URL,您的应用程序会工作得更好,这样您就可以拥有如下链接配置:
const linking = {
prefixes: [prefix],
config: {
screens: {
ConfirmAccount: {
path: "/confirm/:id",
},
NotFound: '*',
}
},
然后您可以使用以下方法捕获 id:
const TheComponent = ({ route, navigation }) => {
const { id } = route.params;
}
请告诉我这是否适合您。