下一篇 JS - 源代码中的元标签缺失

问题描述 投票:0回答:1

我已经安装了多个元标签,如标题、描述、关键字等。

然而,它不显示这些标签在视图源。因此,Facebook的分享卡无法使用(我已经安装了 og 标签,但在Facebook的Scrapper或我的视图源中似乎找不到它们。然而,在客户端幻灯片上却有标签。

我的头部格式(在客户端检查DevTools中显示标签,但在视图源中没有)。

import Head from 'next/head';

export default () => (
  <>
    <Head>
      <meta property="og:title" content={title} />
      <meta property="og:url" content={url} />
    </Head>
    <Header />
    <Body />
    <Footer />
  </>
)

输出(Redacted Page Props)。


<!DOCTYPE html><html><head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/development/pages/_app.js?ts=1592258092029" as="script"/><link rel="preload" href="/_next/static/development/pages/Home.js?ts=1592258092029" as="script"/><link rel="preload" href="/_next/static/runtime/webpack.js?ts=1592258092029" as="script"/><link rel="preload" href="/_next/static/runtime/main.js?ts=1592258092029" as="script"/><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"></div><script src="/_next/static/runtime/react-refresh.js?ts=1592258092029"></script><script src="/_next/static/development/dll/dll_f9de5cbc314a1e41f91e.js?ts=1592258092029"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps": "page":"/Home","query":{},"buildId":"development","isFallback":false,"gssp":true}</script><script nomodule="" src="/_next/static/runtime/polyfills.js?ts=1592258092029"></script><script async="" data-next-page="/_app" src="/_next/static/development/pages/_app.js?ts=1592258092029"></script><script async="" data-next-page="/Home" src="/_next/static/development/pages/Home.js?ts=1592258092029"></script><script src="/_next/static/runtime/webpack.js?ts=1592258092029" async=""></script><script src="/_next/static/runtime/main.js?ts=1592258092029" async=""></script><script src="/_next/static/development/_buildManifest.js?ts=1592258092029" async=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1592258092029" async=""></script></body></html>
reactjs next.js server-side-rendering
1个回答
0
投票

问题似乎来自Redux Persist,它禁用了SSR。在服务器端禁用PersistGate似乎可以解决这个问题。

Github问题链接

return process.browser ? (
        <PersistGate persistor={store.__persistor} loading={<div>Loading</div>}>
            <ToastProvider>
                <Component {...pageProps} />
            </ToastProvider>
        </PersistGate>
    ) : (
            <Provider store={store}>
                <ToastProvider>
                    <Component {...pageProps} />
                </ToastProvider>
            </Provider>
        );
© www.soinside.com 2019 - 2024. All rights reserved.