gpt4 book ai didi

reactjs - 为 Next Js 项目 React Helm 还是 next/head?

转载 作者:行者123 更新时间:2023-12-03 15:40:02 34 4
gpt4 key购买 nike

我正在制作下一个 js 应用程序(React SSR),现在我要在 head 中实现元标记。

所以现在我使用了 next/head在 _app.tsx 文件中,例如,

import React from 'react';
import App from 'next/app';
import Head from 'next/head';
import { ThemeProvider } from '@material-ui/core/styles';
import CssBaseline from '@material-ui/core/CssBaseline';
import theme from '../src/theme';

export default class MyApp extends App {
componentDidMount() {
// Remove the server-side injected CSS.
const jssStyles = document.querySelector('#jss-server-side');
if (jssStyles) {
jssStyles.parentElement!.removeChild(jssStyles);
}
}

render() {
const { Component, pageProps } = this.props;

return (
<React.Fragment>
<Head>
<title>My page</title>
<meta name="viewport" content="minimum-scale=1, initial-scale=1, width=device-width" />
</Head>
<ThemeProvider theme={theme}>
{/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}
<CssBaseline />
<Component {...pageProps} />
</ThemeProvider>
</React.Fragment>
);
}
}

整个工作代码可以在沙箱中找到: https://codesandbox.io/s/interesting-tereshkova-217ks

我只是想知道是否使用 next/head在下一个js应用程序中本身就足够了,否则需要实现 react-helmet ??

如果 react-helmet需要然后请帮助我如何在提供的下一个 js 应用程序中实现。

我是 Next Js 和 SSR 的新手,所以请帮助我找到正确的方向,这是实现结果的最佳方法。

最佳答案

I am just to know whether using next/head itself enough in next js application or else need to implement react-helmet ??



如果您正在推出自己的服务器端渲染解决方案并且不使用 Next.js,那么使用 react-helmet 是有意义的。据我所知, next/head基本上是 react-helmet 的内置版本,可以完成 react-helmet 所做的一切。

所以不,如果您使用 Next.js,则不需要使用 react-helmet。只需使用 next/head .

If the react-helmet is needed then kindly help me how to implement in the provided next js application.



也就是说,如果你想在 Next.js 中使用 react-helmet,这里是一个例子: https://github.com/zeit/next.js/tree/canary/examples/with-react-helmet .不知道你为什么要这样做,但这个例子存在。有 some discussion关于它。

顺便说一句,就像 react-helmet 一样,你可以使用 next/head渲染树中的任何位置——不仅仅是 App像您的示例中那样的组件 - 所有标签都将聚合到 <head> 中标签在顶部。

关于reactjs - 为 Next Js 项目 React Helm 还是 next/head?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61063193/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com