Next.js-CSSサポート
Next.jsでは、styled-jsxという名前のinbuildcss-in-jsライブラリを使用できます。これにより、reactコンポーネント内にcssを書き込むことができ、これらのスタイルはコンポーネントにスコープされます。
この例では、他のコンポーネントを含めることでスタイルを設定するために使用されるContainerオブジェクトを作成します。
メタデータの章で使用されているnextjsプロジェクトを更新しましょう。
まず、ルートレベルでComponentsディレクトリを作成し、次のようにファイルcontainer.module.cssを追加します。
.container {
max-width: 36rem;
padding: 0 1rem;
margin: 3rem auto 6rem;
border: 1px solid red;
}
Componentsディレクトリにcontainer.jsファイルを作成します
import styles from './container.module.css'
function Container({ children }) {
return <div className={styles.container}>{children}</div>
}
export default Container
次に、first.jsでContainerコンポーネントを使用します。
import Link from 'next/link'
import Head from 'next/head'
import Container from '../../components/container'
export default function FirstPost() {
return (
<>
<Container>
<Head>
<title>My First Post</title>
</Head>
<h1>My First Post</h1>
<h2>
<Link href="/">
<a>Home</a>
</Link>
</h2>
</Container>
</>
)
}
Next.jsサーバーを起動します
次のコマンドを実行してサーバーを起動します-。
npm run dev
> [email protected] dev \Node\nextjs
> next
ready - started server on http://localhost:3000
event - compiled successfully
event - build page: /
wait - compiling...
event - compiled successfully
event - build page: /next/dist/pages/_error
wait - compiling...
event - compiled successfully
出力を確認する
ブラウザでlocalhost:3000を開き、最初の投稿に移動すると、次の出力が表示されます。