1

我正在使用 React snap 进行 SEO。

这就是我所做的。

我在我的反应应用程序中将以下内容添加到 index.js

import React from 'react';
import { hydrate, render } from "react-dom";

const rootElement = document.getElementById("root");
if (rootElement.hasChildNodes()) {
    hydrate(<App />, rootElement);
} else {
    render(<App />, rootElement);
}

然后我将以下内容添加到 package.json

"postbuild": "react-snap"

当我npm run build在页面上运行并查看源代码时,我看不到页面所需的实时元描述和标题。

我究竟做错了什么?

这是我设置元标记的方法。

在 BookDetail.jsx 中

import {Helmet} from "react-helmet";
<Helmet>
    <meta charSet="utf-8" />
    <title>{this.state.book.title} by {this.state.book.author} | Sumizeit</title>
    <meta name="description" content={this.state.book.desc}/>
</Helmet>
4

1 回答 1

0

不要使用 react-snap 只需更改为 next.js (react-snap 有很多问题:受保护路由上的刷新错误,构建时间不是开玩笑,内联 css)...顺便说一句,您的代码没有任何问题

于 2020-10-14T10:12:13.990 回答