改造11日目の続き。。。。
「Next Page」ボタンの逆をやれば戻るボタンを作れるのでは・・・?
と数日考えたものの、
どうもいい記述が思い浮かばない。。。。。。
思い浮かばない原因:
そういった時はアルパカ先生の記事を再読するに限る。
参照:アルパカブログ_Notion Blogで過去の記事を遡れるようにページネーションを実装する
fallback
って2回目以降は履歴から引っ張ってきてくれるのか・・・・Next.jsのドキュメントを見てみると・・・
詳細:https://nextjs.org/docs/basic-features/data-fetching#fallback-blocking
詳細:https://nextjs.org/docs/basic-features/data-fetching#incremental-static-regeneration
「その間」の設定はgetStaticProps
のreturn
の一部revalidate
で設定しておく。
[date].tsxを見てみると・・・
revalidate
を設定する詳細:https://nextjs.org/docs/api-reference/next/router#routerback
[date].tsxを見てみるとrouter
既にある!!
<button type="button" onClick={() => router.back()}>
</button>
の部分を追記すれば作れるね〜〜〜結果は・・・・
ボタンを押して戻るかを確認
戻った\(^o^)/
でも最後のページはNext Pageボタンも表示されない。
原因はこの条件分岐。
参考:戻るボタンを設置するためにNext pageボタンを徹底的に解読する
一番過去ページの最後の記事に最初に書いた記事がくるので弾かれている
[date].tsxに追記
結果:
Next Pageボタンの上に移動
<button>
を<a>
に変更してCSSクラスも用意
CSS参考記事:サルワカ_CSSで作る!押したくなるボタンデザイン100(Web用)
結果:
2つのボタンを1つの塊にしてCSSの方でFrexboxを設定する
参考記事:CSSのFlexboxとは?横並びレイアウトの新定番になるかも!
結果:
できた\(^o^)/
ボタンを設置するのにネットからいいサンプルコードを見つけ、
意味も分からず追記してみたら意外と問題なく動いて
できた気でいたんだけど。。。。。
改めてこの記事を書くために必要な情報を整理していけばしていくほど
「あれ?この記述いらないよね?」
ってコピペして使っていたボタンの不要な記述が明らかになりました。
本当は作ってすぐ執筆したかったけど、
説明できるほどクリアになっていなかったので
モヤモヤしたままCSSをいじり倒して
発散させていた結果、
ブログの確認用スクショの見た目が違ったものになってしまいました。m(_ _)m
いりじ倒していた期間に発見した
サムネの表示方法については
後日投稿しようと思っています\(^o^)/
Next pageのボタンはcomponents/blog-part.tsx
https://github.com/herohoro/easy-notion-blog-02/blob/master/components/blog-parts.tsx#L157-L182
Back・Nextボタンはcomponents/nextBackpage.tsx
https://github.com/herohoro/easy-notion-blog-02/blob/master/components/nextbackpage.tsx
一番古いページに表示されるbackボタンはcomponents/backpage.tsx
https://github.com/herohoro/easy-notion-blog-02/blob/master/components/backpage.tsx
Reactを使う部分が別ファイルにしておかないといけなくなり
3つになっています。
でも内容は同じです(*´ω`*)(*´ω`*)
Next.js13でどんな変更があったかについては
こちらの記事で解説しています⭐
▼ この記事に興味があったら同じタグから関連記事をのぞいてみてね
RSSリーダーにatomのリンクを登録すると通知が行くよ🐌
https://herohoro.com/atom
やってみてね(*´ω`*)(*´ω`*)
フォロー大歓迎\(^o^)/
フォロー大歓迎\(^o^)/