如何在 React Native 'Share' 函数中设置动态网址



我在React Native的共享部分中引用了我的一个道具,即一个URL(但以普通对象形式)。我已经尝试了几种不同的方法来分享实际能够阅读它。没有人工作。他们应该....有人看到我缺少的东西吗?
这是代码:

onShareButtonPress() {
   const { image } = this.props.employee;
   const test = JSON.stringify(image);
     //console.log(test);
   Share.share({
      message: 'Here's your image:',
      url: test,
      title: 'Dealerslist Image'
   }, {
      // Android only:
      dialogTitle: 'Share Dealerslist goodness',
      // iOS only:
      excludedActivityTypes: [
       'com.apple.UIKit.activity.PostToTwitter'
     ]
   })

这也不起来:

 url: 'image',   

如果我记录"测试",则将URL作为预期字符串。但是分享仍然无法识别。但是,如果我直接从控制台中复制字符串并将其粘贴到URL中,则可以很好地工作。此代码有效:

Share.share({
message: 'Here's your image:',
url: "https://firebasestorage.googleapis.com/v0/b/ag-equipment-
      southwest.appspot.com/o/1512760876838.4595.jpg?
      alt=media&token=1bfeba0d-d788-4774-91a7-7801c8084b30",
title: 'Dealerslist Image'

}

和'test'日志完全如下:

"https://firebasestorage.googleapis.com/v0/b/ag-equipment-
southwest.appspot.com/o/1512760876838.4595.jpg?
alt=media&token=1bfeba0d-d788-4774-91a7-7801c8084b30"

所有这些我都尝试分享iOS邮件。动态链接无法与邮件一起使用。

但是,如果我只是在iOS剪贴板上共享,我得到了:

 Here's your image:%22https://firebasestorage....and so on

我是Web和移动开发的新手,因此我不确定预期的行为是否将"%22"复制为可能的中断。无论如何,iOS邮件共享没有获得任何URL。

任何帮助将不胜感激!谢谢!

您正在在字符串上进行JSON.stringify,该字符串将在开始和结束时添加两个引号。

" = %22可能是额外%22代码

的原因
onShareButtonPress() {
   const { image } = this.props.employee;
   Share.share({
      message: 'Here's your image:',
      url: image,
      title: 'Dealerslist Image'
   }
   .
   .
   .
)

,但理想情况下,如果您不想在请求飞行期间处理意外角色,则需要尝试encodeURIdecodeURI

URL编码列表

编码URI

解码URI

const url = "https://google.com"
console.log(url);
console.log(JSON.stringify(url));

相关内容

  • 没有找到相关文章

最新更新