我正在使用openAuthSessionAsync调用后端并发送深度链接的URL我成功重定向回我的应用程序,但我没有获得从后端发送的具有深度链接的查询参数
我的react原生应用端:
const experiment = async()=>{
try{
let result = await WebBrowser.openAuthSessionAsync(`http://myaddress :3901/api/testig?linkingUri=${Linking.createURL(
"/?",
)}`,);
console.log(result)
}catch(errr){
console.log(errr)
}
}
我的节点js端:
router.get("/testig",(req,res)=>{
url = req.query.linkingUri
**//url is exp://myaddress:19000/--/?**
res.redirect(url+"?authToken=abc123")
})
我也尝试过在后台硬编码的网址,但它只打开应用程序回来,但没有参数
在控制台中的react原生端中,我得到以下内容:
Object:{
"type":"dismiss",
}
UPDATE:通过为LINKING设置eventListener解决了此问题,如下所示
const handleDeepLink = (event)=>{
let data = Linking.parse(event.url)
setdata(data)
if(JSON.parse(data.queryParams.isSuccessful) == true)
{
props.navigation.navigate("thankyou")
}
}
React.useEffect(()=>{
Linking.addEventListener("url",handleDeepLink)
return(()=>{
Linking.removeEventListener("url")
})
},[])
1条答案
按热度按时间z9smfwbn1#
在块中使用trycarch查看错误并使用
var url
代码看起来像