Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.替换函数won';不能在JavaScript中替换数字?_Javascript_React Native_Firebase Realtime Database - Fatal编程技术网

.替换函数won';不能在JavaScript中替换数字?

.替换函数won';不能在JavaScript中替换数字?,javascript,react-native,firebase-realtime-database,Javascript,React Native,Firebase Realtime Database,我试图将所有'%2F'和'%2B'更改为'/'和'+',以便从Firebase检索编码图像的URL,但不知怎的,它向我显示了未定义的错误不是对象(计算'NewText.replace') 这是代码的一部分: getURL(){ db.ref('/').once('value', (data) =>{ let RetrieveData=data.toString(); var NewText = RetrieveData.photoPath;

我试图将所有
'%2F'
'%2B'
更改为
'/'
'+'
,以便从
Firebase
检索编码图像的URL,但不知怎的,它向我显示了未定义的
错误
不是对象(计算
'NewText.replace'

这是代码的一部分:

getURL(){
    db.ref('/').once('value', (data) =>{
        let RetrieveData=data.toString();
        var NewText = RetrieveData.photoPath;
        var FinalText = NewText.replace(/%2F/g, "/").replace(/%2B/g, "+"); 
        this.setState({
          urlHolder: FinalText, 
      })
    });
  }

是因为
.replace
功能不能替换数字吗?如果是这样的话,我应该使用什么功能呢?

当您从Firebase读取数据时,您会得到一个反馈。要从中获取JSON值,可以对该
DataSnapshot
调用
.val()

因此,您最可能要寻找的是:

let RetrieveData=data.val();

否,这意味着
RetrieveData
包含未定义的数据。除此之外,你应该使用decodeURIComponent来完成这项任务。你可以(/should)而不是乱搞正则表达式,你可以简单地使用Thank you that for the reply,我对JavaScript和React Native相当陌生,不知道有内置函数。干杯,伙计,现在起作用了。你有什么收获吗?我试图在下面给出一个答案。你看到了吗?这有意义吗?如果我的答案有用,请单击向上投票按钮(▲) 在它的左边(尽管你可能还没有足够的声誉来这么做)。如果它回答了你的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见