実現したいこと
apiから取得したDBの値が画面に表示されるようにしたいです。
発生している問題・分からないこと
画面に何も表示されていません。
エラーメッセージ
error
1コンパイルエラー:なし 2実行時エラー :なし 3※ただし、10分くらいするとデベロッパーツールのコンソールタブに以下エラーが表示されます。 4Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
該当のソースコード
aplication ├─client │ ├─node_modules │ ├─public │ ├─src │ ├App.css │ ├App.js │ ├index.js │ ├reportWebVitals.js │ ├─.gitignore │ ├─package.json │ ├─package-lock.json │ ├─README.md ├─server │ ├─node_modules │ ├─index.js │ ├─package.json │ ├─package-lock.json
client/src/index.js
1import React, { useState, useEffect } from "react"; 2import './App.css'; 3import Axios from "axios"; 4 5function App() { 6const [categoryList, setCategoryList] = useState([]); 7 8useEffect(() => { 9 Axios.get("http://localhost:5000/api/get/dish").then((response) => { 10 console.log("API Response:", response); 11 setCategoryList(response.data); 12 console.log(response); 13 }) 14 .catch((error) => { 15 console.error("There was an error fetching the data:", error); 16 }); 17}, []); 18 return ( 19 <div className="App"> 20 <h1>リストで表示</h1> 21 <ul> 22 {categoryList.map((val, index) => { 23 console.log(val); 24 return <li key={index}>{val.name}</li> 25 })} 26 </ul> 27 </div> 28 ); 29} 30export default App; 31
server/index.js
1const express = require('express'); 2const app = express(); 3const cors = require('cors'); 4const mysql = require('mysql2'); 5 6const db = mysql.createPool({ 7 host: 'localhost', 8 user: 'mysql', 9 password: 'root', 10 database: 'sys', 11}); 12 13app.use(cors()); 14 15app.get("/api/get/dish", (req, res) => { 16 17const sqlSelect = "SELECT * FROM dish ORDER BY id"; 18db.query(sqlSelect, (err, result) => { 19 res.send(result); 20 }); 21}); 22app.listen(5000, () => { 23 console.log('running on port 5000'); 24}); 25 26
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
DBの接続は問題なくできていることは確認しています
以下、apiエンドポイントの結果です。

補足
◆以下のサイトを参考に実施しています。
https://qiita.com/nemutya/items/b4c606168aa5be610e1e
◆【09/02追記】
ソースコードでコンソールログに出力するようにコードを書いているのですが、
ブラウザ上でなぜかコンソールログの出力内容を確認できないです。。。

2024/09/01 15:57