質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

Q&A

解決済

2回答

238閲覧

Next.jsで画面遷移ができない

fdewcds

総合スコア1

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

0グッド

0クリップ

投稿2024/01/30 04:36

編集2024/01/30 04:38

実現したいこと

<li><Link href='/concept'>Concept</Link></li> クリックするとconceptコンポーネントのページを表示したい

発生している問題・分からないこと

クリックしても404になります

該当のソースコード

JavaScript

1app/components/Header 2 3import Link from 'next/link' 4import React from 'react' 5 6 7export const Header = () => { 8 return ( 9 <div className='header container flex'> 10 <nav className='header_menu flex'> 11 <li><Link href='/concept'>Concept</Link></li> 12 </nav> 13 </div> 14 ) 15} 16

JavaScript

1app/components/concept 2 3import React from 'react' 4 5export const concept = () => { 6 return ( 7 <div>Concept</div> 8 ) 9}

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

concept.jsxをappディレクトリにpagesフォルダを作成してそこに配置。
大文字小文字が間違いないか確認
結果変わらず404エラー

補足

"dependencies": {
"react": "^18",
"react-dom": "^18",
"next": "14.1.0"
},

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

次の(1)(2)(3)をやってみるとどうでしょうか。

(1) ファイル内容の修正

  • import React from 'react' の行は不要
  • 関数コンポーネント名を大文字始まりのConceptに修正したうえで、
  • Concept を export default する。

diff

1import React from 'react' 2 3- export const concept = () => { 4+ const Concept = () => { 5 return ( 6 <div>Concept</div> 7 ) 8} 9 10+ export default Concept;

(2) 上記のファイル名を page.jsx に変更

(3) app/concept/ ディレクトリを作成して、そこに (2) の page.jsx を移動


訂正

import React from 'react'
は必要でした m(_ _)m

投稿2024/01/30 07:19

編集2024/01/30 07:26
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fdewcds

2024/01/30 09:55

回答ありがとうございます。 試したところ問題が解決しました!お二方ありがとうございました。 ベストアンサーに選ばせていただきました。
guest

0

Reactでカスタムコンポーネントを定義する際は、大文字始まりである必要があるかと思いますので、

export const concept = () => {} ↓ export const Concept = () => {}

に変更してみてください!

以下公式のドキュメントです

https://legacy.reactjs.org/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized

投稿2024/01/30 05:19

編集2024/01/30 05:19
uky

総合スコア207

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問