Next.js-命令型ルーティング
Next.jsでは、これまでのところ、Linkreactコンポーネントを使用して1つのページから別のページに移動しています。ルーターコンポーネントを使用して同じことを達成するためのプログラム的な方法もあります。通常、ルーターコンポーネントはhtmlタグとともに使用されます。
次のようにpagesディレクトリのindex.jsファイルを更新します。
import Router from 'next/router'
import Head from 'next/head'
function HomePage(props) {
return (
<>
<Head>
<title>Welcome to Next.js!</title>
</Head>
<div>Welcome to Next.js!</div>
<span onClick={() => Router.push('/posts/one')}>First Post</span>
<br/>
<div>Next stars: {props.stars}</div>
<img src="/logo.png" alt="TutorialsPoint Logo" />
</>
)
}
export async function getServerSideProps(context) {
const res = await fetch('https://api.github.com/repos/vercel/next.js')
const json = await res.json()
return {
props: { stars: json.stargazers_count }
}
}
export default HomePage
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を開くと、次の出力が表示されます。
リンクではないがクリック可能な最初の投稿をクリックします。