前提・実現したいこと
Pythonからデータを取得してReactで表示させたいです。
useEffectを使って初期表示のためのデータを取得したいのですが、consoleで確認すると値が取得できていません。
解決方法がわからないため、どなたか教えていただけると助かります。
初めての投稿のため至らぬところもあるかと思います。そちらもご指摘していただけると幸いです。
発生している問題・エラーメッセージ
TypeError: sakeList.map is not a function
該当のソースコード
React
1const AllSake = () => { 2 const [sakeList, setSakeList] = useState(null); 3 useEffect(() => { 4 axios.get(`http://127.0.0.1:5000/`) 5 .then(res => { 6 setSakeList(res.data) 7 console.log(sakeList) 8 }) 9 }, []) 10 11 return ( 12 <React.Fragment> 13 <h1>一覧</h1> 14 <button onClick={() => handleLink('/input')}>入力画面に</button> 15 <ul> 16 { 17 sakeList === null ? <p>リストがありません</p> : 18 sakeList.map(sake => { 19 return ( 20 <li key={sake.id}> 21 <p>{sake.name}</p> 22 </li> 23 ) 24 }) 25 } 26 </ul> 27 28 </React.Fragment> 29 ) 30}
Python
1@app.route("/", methods=['GET', 'POST']) 2def index(): 3 with get_connection() as conn: 4 with conn.cursor() as cur: 5 if request.method == 'GET': 6 cur.execute('SELECT to_json(test) FROM test') 7 result_list = cur.fetchall() 8 result_dic = {} 9 count = 0 10 for result in result_list: 11 for s in result: 12 result_dic[count] = s 13 count += 1 14 return jsonify(result_dic)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/07/05 03:05