如何从GraphQL查询结果的字符串中删除<br/>标签

时间:2019-05-07 21:51:50

标签: javascript html reactjs graphql

我正在研究一个利用Apollo和GraphQl查询外部API的React应用程序。我的问题是数据中包含带有
标记的字符串。我想删除
标签。

字符串如下:

Additionally, Igor works as a driver for a transport company.<br /><br />The spring agricultural works on the land started already and he now supports more expenses. 

我的响应数据看起来像“ data.loans.lend.values”,因此我尝试对数据使用str.replace()方法。但是,它没有用。我可能已经花了大约五个小时在网上进行梳理,以找到解决方案,但未能做到。

这是我的Apollo查询组件的外观。

<Query query={kivaLoans} variables={{ country: country, sortBy: sort, limit: limitResults }}>
                {({ data, loading, error }) => {
                    if (loading) return <div><p>Loading...</p></div>;
                    if (error) return <p>ERROR</p>;

                    return (

这是我的GraphQL查询。

gql`
    query ($country: [String], $sortBy: LoanSearchSortByEnum, $limit: Int) {
  lend {
    loans(filters: {status: fundraising, country: $country}, sortBy: $sortBy, limit: $limit) {
      values {
        id
        plannedExpirationDate
        image {
          url(customSize: "s900")
        }
        name
        loanFundraisingInfo {
          fundedAmount
        }
        loanAmount
        description
        loanAmount
      }
    }
  }
}`

其他任何人以前都遇到过此问题吗?

1 个答案:

答案 0 :(得分:3)

如果您以不喜欢的格式接收数据,则意味着graphql服务器,它利用的数据库或它利用的api以无用的格式将数据返回给graphql服务器为了你。另一种可能性是服务器本身正在以令人讨厌的方式格式化数据。所以这是您的选择:

  1. 适当更改服务器/数据源
  2. 对返回的字符串str.replace(/<b>/g, '').replace(/<\/b>/g, '')进行全局替换。仔细检查我的转义字符,我可能倒退了。

在字符串替换中,/ [您要替换的内容] / g =用于整个字符串的正则表达式,用于整个字符串