私は次の js アプリケーション (React SSR) を作成しており、現在、head にメタ タグを実装しています。
したがって、今のところ、_app.tsx ファイルでnext/headを次のように使用しています。
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に慣れていないので、結果を達成するための最良の方法である正しい方向に私を助けてください.