【问题标题】:How to set dynamic url in React Native 'Share' function如何在 React Native 的“分享”功能中设置动态 url
【发布时间】:2017-12-09 00:44:11
【问题描述】:

我在 React Native 的 Share 组件中引用了我的一个道具,一个 url(但以纯对象形式)。我尝试了几种不同的方法来让 Share 实际能够阅读。没有一个工作。他们应该....有人看到我错过了什么吗?
代码如下:

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 作为预期的字符串。但是Share仍然无法识别它。但是,如果我直接从控制台复制字符串并将其作为 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'

}

并且“测试”日志完全一样:

"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 有什么原因吗?尝试删除它。

标签: javascript react-native dynamic share


【解决方案1】:

您正在对一个字符串执行JSON.stringify,它将在开头和结尾添加两个引号。

" = %22 这可能是额外的%22 代码的原因

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

但理想情况下,如果您不想在请求飞行期间处理意外字符,则可以尝试 encodeURIdecodeURI

URL ENCODING LIST

ENCODE URI

DECODE URI

const url = "https://google.com"

console.log(url);

console.log(JSON.stringify(url));

【讨论】:

  • 谢谢南都!那行得通。我早些时候尝试过,但肯定有其他问题,因为当时只是图像不起作用。谢谢一百万!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多