首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React抛出URIError:这很可能是由无效的百分比编码引起的。

React抛出URIError:这很可能是由无效的百分比编码引起的。
EN

Stack Overflow用户
提问于 2018-09-15 09:11:29
回答 2查看 3.5K关注 0票数 6

在react中工作,然后遇到了这样的问题

代码语言:javascript
复制
  Uncaught URIError: This is likely caused by an invalid percent-encoding

目前,我正在使用新闻API,其中一些文章可能包括%。我的整个应用程序依赖于在url中显示新闻文章名称,因为我使用this.props.match.params.id

我试着在网上寻找一个解决方案,但在解决这个确切的问题时,他们中的大多数人都很不清楚。

这个问题有简单的解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-12 17:13:02

您需要将接收到的路径作为参数使用encodeURIComponent():示例:

代码语言:javascript
复制
const receivedArticleName = encodeURIComponent('Article Name with %');

由于您使用的是API,一旦收到它,使用该receivedArticleName设置您的URL变量,您就完成了。

票数 3
EN

Stack Overflow用户

发布于 2021-06-23 19:24:34

这对我起了作用。

代码语言:javascript
复制
     function navigate(data: Partial<Saturation>) {
    if (data.name) {
      const checkSyrupForPercentChar = data.name.includes('%')
      const syrupReplacementName = data.name.replace('%', '')

      history.push({
        pathname: `saturation-directory/${data.id}/${urlFormat(
          checkSyrupForPercentChar ? syrupReplacementName : data.name
        )}`,
        state: {
          syrupData: data,
          from: 'syrupDirectory'
        }
      })
    }
  }

重构前的代码:

代码语言:javascript
复制
      function navigate(data: Partial<Saturation>) {
if (data.name) {
  history.push({
    pathname: `saturation-directory/${data.id}/${urlFormat(data.name)}`,
    state: {
      syrupData: data,
      from: 'syrupDirectory'
    }
  })
}

}

我合并的字符串函数也是路径名上的三元操作符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52343328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档