前提・実現したいこと
PHP(Laravel)とJS(React)で簡単なSPA開発を行なっています
そこで、react-queryでデータを取得して、mapメソッドでブラウザに取得したデータを表示したいのですがうまくいきません、、、
どこが問題なのかを伺いたく、質問させていただきました。
発生している問題・エラーメッセージ
エラーは出ていないが、取得したデータがブラウザに反映されない
該当のソースコード
JS
1import React, {useEffect, useState} from "react"; 2import axios from "axios"; 3import { useQuery } from "react-query"; 4 5const TaskPage = () => { 6 const {data:tasks, status} = useQuery('tasks', async () => { 7 const {data} = await axios.get('api/tasks'); 8 console.log(data) 9 return data 10 }) 11 12 if (status === 'loading') { 13 return <div className='loader' /> 14 } else if (status === 'error') { 15 return <div className='align-center'>データの読み込みに失敗しました</div> 16 } else if(!tasks || tasks.length <= 0){ 17 return <div className="align-center">登録されたタスクはありません</div> 18 } 19 20 return ( 21 <> 22 <form className="input-form"> 23 <div className="inner"> 24 <input type="text" className="input" placeholder="TODOを入力してください。" defaultValue="" /> 25 <button className="btn is-primary">追加</button> 26 </div> 27 </form> 28 <div className="inner"> 29 <ul className="task-list"> 30 {tasks.map(task => { 31 <li key={task.id}> 32 <label className="checkbox-label"> 33 <input type="checkbox" className="checkbox-input" /> 34 </label> 35 <div><span>{ task.title }</span></div> 36 <button className="btn is-delete">削除</button> 37 </li> 38 })} 39 <li> 40 <label className="checkbox-label"> 41 <input type="checkbox" className="checkbox-input" /> 42 </label> 43 <form><input type="text" className="input" defaultValue="編集中のTODO" /></form> 44 <button className="btn">更新</button> 45 </li> 46 <li className="done"> 47 <label className="checkbox-label"> 48 <input type="checkbox" className="checkbox-input" /> 49 </label> 50 <div><span>実行したTODO</span></div> 51 <button className="btn is-delete">削除</button> 52 </li> 53 <li> 54 <label className="checkbox-label"> 55 <input type="checkbox" className="checkbox-input" /> 56 </label> 57 <div><span>ゴミ捨て</span></div> 58 <button className="btn is-delete">削除</button> 59 </li> 60 <li> 61 <label className="checkbox-label"> 62 <input type="checkbox" className="checkbox-input" /> 63 </label> 64 <div><span>掃除</span></div> 65 <button className="btn is-delete">削除</button> 66 </li> 67 </ul> 68 </div> 69 </> 70 ) 71} 72 73export default TaskPage;
試したこと
react-queryに関して自分なりに検索をかけた。
mapメソッド、react-queryに記述間違いがないか確かめた。
データが取得できているか確かめた。
補足情報(FW/ツールのバージョンなど)
React 17.0
PHP 7.3
Laravel 8.54
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。