React Native链接,getInitialURL()未获取完整URL

b09cbbtk  于 2022-11-17  发布在  React
关注(0)|答案(1)|浏览(153)

为什么React原生Linkin.getInitialURL()不会得到完整的URL?

useEffect(() => {
    const bla = Linking.getInitialURL()
    console.log(bla)
  }, [])

这里是console.log的结果

我在cmd中这样测试

adb shell am start -W -a android.intent.action.VIEW -d "https://curious-dev.web.app/verify/?mode=action&oobCode=23423432"

我需要URL的其余部分,它必须像这样“https://curious-dev.web.app/verify/?mode=action&oobCode=23423432“
但是我从getInitialURL得到的是“https://curious-dev.web.app/verify/?mode=action“,URL的其余部分在哪里?是否有字符限制或什么?
你的帮助将保存我。谢谢你

n9vozmp4

n9vozmp41#

您的示例在真实的设备中运行良好,但在使用adb shell进行测试时,应转义URL中的“&”符号。

adb shell am start -W -a android.intent.action.VIEW -d "https://curious-dev.web.app/verify/?mode=action\&oobCode=23423432"

有关详细信息,请查看此discussion
getInitialURL返回解析为URL的Promise,因此使用async/await获取URL。

useEffect(() => {
    const getUrlAsync = async () => {
      const initialUrl = await Linking.getInitialURL();
      console.log(initialUrl);
    };
    getUrlAsync();
  }, []);

请查看链接API documentation中的更多示例。

相关问题