Не удается получить Reactjs с помощью шлема для запуска тегов скрипта - PullRequest
0 голосов
/ 25 сентября 2019

Я использую 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": ""

У кого-нибудь есть какие-либо предложения?

...