axiosで取得したusersのuserのidをsteteにsetしたいです。
以下で取得できない状況ですので、ご教示頂ければ幸いです。
React
1 constructor() { 2 super(); 3 this.state = { 4 users: [], 5 userId:''} 6 } 7 8 axios 9 .get('api/user?api_token=' + Laravel.apiToken) 10 .then((res) => { 11 this.setState({ 12 users: res.data 13 }); 14 }) 15 .catch(error => { 16 console.log(error) 17 }) 18 19 this.state.users.map((user) => { this.setState({ userId: user.id }) }); 20 console.log(this.state.userId); 21 22
this.state.users.map((user) => { this.setState({ userId: user.id }) });
だとusersの数だけuserIdを更新し、usersの最後をuserIdに入れようとしてますが、やりたいことはあっていますでしょうか?
this.setState({ userId: res.data.last.id }); でもusersの最後のUserのIDをuserIdにセット可能そうです。
ご回答ありがとうございます。
やりたい事としては、ログインユーザーのIDをstateにセットしたいです。
mapを利用しないと操作(?)できないと勘違いしていました。
例えば、resで this.setState({userId: res.data.id}); で取得できるんでしょうか?
res.dataの中身は僕はわからないので、console.logなどやdebuggerなどで確認しながら必要な値を確認するといいと思います。
例えばconsole.log(res.data)として、開発者モードでconsoleを確認するとres.dataの中身が分かります。
ありがとうございます。
resで this.setState({userId: res.data.id}); で取得できました。
お手数おかけしました。取得するときは、res.data.プロパティ名(?) でよかったんですね。
回答1件
あなたの回答
tips
プレビュー