我正在研究一个利用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
}
}
}
}`
其他任何人以前都遇到过此问题吗?
答案 0 :(得分:3)
如果您以不喜欢的格式接收数据,则意味着graphql服务器,它利用的数据库或它利用的api以无用的格式将数据返回给graphql服务器为了你。另一种可能性是服务器本身正在以令人讨厌的方式格式化数据。所以这是您的选择:
str.replace(/<b>/g, '').replace(/<\/b>/g, '')
进行全局替换。仔细检查我的转义字符,我可能倒退了。在字符串替换中,/ [您要替换的内容] / g =用于整个字符串的正则表达式,用于整个字符串