Я использую Helmet в Reactjs для предоставления своих метаданных на страницу - это прекрасно работает, пока я не хочу добавить разметку схемы в тег.Я реализую, как описано в документации, но поскольку моя разметка исходит от API, мне нужно экранировать код, чтобы вернуть мою функцию, к которой я получаю эту ошибку;
TypeError: tag [primaryAttributeKey] .toLowerCase не является функцией
Скрипт работает, если это просто строка на странице, но когда я вызываю функцию, он выдает ошибку
Вот мой код;
async componentWillMount(){
var data = await api.schema();
this.setState({schema: data.data});
console.log(this.state.schema);
}
getSchema(){
if(this.state.schema.length){
return this.state.schema.map((content,index) => {
var pageschema = content.PageSchema;
return(
pageschema
);
})
}
}
render() {
return (
<div>
<Helmet>
<meta charSet="utf-8" />
<title>Title title title</title>
<meta name="description" content="this is a page description"></meta>
<link rel="canonical" href="xxx" />
<script type="application/ld+json">{this.getSchema()}</script>
</Helmet>
...
Схема страницы возвращает следующее, что было JSON.parsed
"@context": "https://schema.org",
"@type": "Organization",
"name": "xx",
"alternateName": "xx",
"url": "xx",
"logo": ""
У кого-нибудь есть какие-либо предложения?