react
1import React from "react"; 2import { render } from "react-dom"; 3 4import axios from "axios"; 5 6class App extends React.Component { 7 constructor() { 8 super(); 9 this.state = { member: [] }; 10 } 11 12 memberList(list) { 13 const memberList = list.map((member, index) => { 14 return ( 15 <li> 16 {member.name} {member.age} 17 </li> 18 ); 19 }); 20 21 return <ul>{memberList}</ul>; 22 } 23 24 render() { 25 console.log(this.state.member); 26 return ( 27 <div> 28 <button onClick={this.getJson}>Get Json</button> 29 {this.memberList(this.state.member)} 30 </div> 31 ); 32 } 33 34 getJson = () => { 35 const url = "https://api.myjson.com/bins/159wqn"; 36 37 axios.get(url).then(res => { 38 this.setState(res.data); 39 }); 40 }; 41} 42 43render(<App />, document.getElementById("root"));
上記コードにおいて、getJson()で取得したレスポンスをsetStateに格納しているところまでは何となく理解しましたが
どのようにして描画しているか理解できません。
私の見解を記載しますので認識があっているか教えて頂けないでしょうか
・constructorのstate にmember配列を格納する。初期値はカラ。
・onClickでgetJson()実行
・レスポンスをStateに格納。
↑setStateしたらmember配列に自動で格納されるのでしょうか???
・memberListが実行されテーブルに描画される?
↑なぜlist.map((member, index) をしないといけないのでしょうか??
このあたりの構文はどこで勉強すればよいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/21 03:38
2020/07/21 03:59
2020/07/21 04:41
2020/07/22 14:42
2020/07/27 00:47