JSONデータをパースして画面に表示するプログラムを作成しています。
getリクエストが成功して以下のレスポンスを受けることに成功しましたが画面に
レンダリングすることができません。(ボタンを押下してもage、nameが表示されません。)
対応方法をご教示頂けないでしょうか?
さらにconsole.logを所々に入れていますが、VScode上に表示されません。
これはどこを見れば内容を確認できるのでしょうか?
また、VScode上でブレークポイントを置いて、ボタンを押下しても
実行結果を止めることができません。どのようにすればデバックができるのでしょうか?
以上3点をご教示頂けないでしょうか
json
1{"body": "[{\"age\": \"25\", \"name\": \"tanaka\"}, {\"age\": \"33\", \"name\": \"yoshida\"}]"}
jsx
1import React from "react"; 2import ReactDOM, { render } from "react-dom"; 3import axios from "axios"; 4 5class App extends React.Component { 6 constructor() { 7 super(); 8 this.state = { body: [] }; 9 } 10 11 memberList(list) { 12 const memberList = list.map((body, index) => { 13 return ( 14 <li> 15 {body.name} {body.age} 16 </li> 17 ); 18 }); 19 20 return <ul>{memberList}</ul>; 21 } 22 23 getProfile = async () => { 24 this.country = "japan"; 25 try { 26 const result = await axios.get(`https://***/${this.country}` 27 ); 28 console.log(result); 29 this.setState(result.data); 30 } catch (error) { 31 console.log("error!!"); 32 } 33 }; 34 35 render() { 36 console.log(this.state.body); 37 return ( 38 <div> 39 <button onClick={() => this.getProfile()}>Get Json</button> 40 {this.memberList(this.state.body)} 41 </div> 42 ); 43 } 44} 45render(<App />, document.getElementById("root")); 46export default App;
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/01 05:02
2020/10/01 05:15
2020/10/01 05:29
2020/10/01 05:36
2020/10/01 05:38
2020/10/01 05:45
2020/10/01 05:51
2020/10/01 05:57
2020/10/01 06:01
2020/10/01 06:09
2020/10/01 06:12