Next.js、React初心者です。
手探りで実装しながら学習をしています。
現在、otoyo/easy-notion-blog: Easy to start your Notion Blog with Official APIを元にブログを作っており、
カスタムしたタグ機能をつけているのですが、
そのUIを組み立てているときにエラーが出てしまいます。
コード
js
1export const PostTags = ({ post }) => { 2 const tags = post.Tags_in_color 3 4 const code = ( 5 <div className=""> 6 {tags && 7 tags.length > 0 && 8 tags.map((tag) => { 9 return ( 10 <Link 11 href="/contents/tag/[tag]" 12 as={getTagLink(tag.name)} 13 key={tag.name} 14 passHref 15 > 16 <a 17 key={tag.name} 18 className={`rounded-lg ${Tag_color( 19 tag.color 20 )} px-2 py-1 text-white inline-block w-auto mr-1 mt-1 text-xs`} 21 > 22 {tag.name} 23 </a> 24 </Link> 25 ) 26 })} 27 </div> 28 ) 29 30 return code 31}
エラー
Unhandled Runtime Error Error: Hydration failed because the initial UI does not match what was rendered on the server. Call Stack throwOnHydrationMismatch node_modules/react-dom/cjs/react-dom.development.js (14388:0) tryToClaimNextHydratableInstance node_modules/react-dom/cjs/react-dom.development.js (14401:0) updateHostComponent$1 node_modules/react-dom/cjs/react-dom.development.js (20711:0) beginWork node_modules/react-dom/cjs/react-dom.development.js (22447:0) callCallback node_modules/react-dom/cjs/react-dom.development.js (4161:0) invokeGuardedCallbackDev node_modules/react-dom/cjs/react-dom.development.js (4210:0) invokeGuardedCallback node_modules/react-dom/cjs/react-dom.development.js (4274:0) beginWork$1 node_modules/react-dom/cjs/react-dom.development.js (27405:0) performUnitOfWork node_modules/react-dom/cjs/react-dom.development.js (26513:0) workLoopSync node_modules/react-dom/cjs/react-dom.development.js (26422:0) renderRootSync node_modules/react-dom/cjs/react-dom.development.js (26390:0) performConcurrentWorkOnRoot node_modules/react-dom/cjs/react-dom.development.js (25694:0) workLoop node_modules/scheduler/cjs/scheduler.development.js (266:0) flushWork node_modules/scheduler/cjs/scheduler.development.js (239:0) performWorkUntilDeadline node_modules/scheduler/cjs/scheduler.development.js (533:0)
<a>
を削除することでエラーの解消はできるのですが、
マウスオンでURLが表示されないなど意図した挙動にならないです。
また、「<Link>内に<a>があるからだめなのかな?」と思い、
一度一番外側へと放り出してみましたがだめでした。
囲まなくても、<a>
があるだけで同様のエラーが出ます。
やったこと
- パッケージのアップデート
- むちゃくちゃググる
- 具体的に、「divをspanにしたら治った」「tableにtheadとか入れた」みたいなやり方を見かけましたが、自分のケースに適応することができませんでした。
- 別ファンクションにして渡した
解決したいこと
- <a>タグを失わずにエラーの解消をする
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。