実現したいこと
axios.get()で持ってきたデータをsetStateしたい
コード
import React, { useEffect, useState } from 'react'; function App() { [data, setData] = useState([]); useEffect( () => { const get = async () => { const result = await getData(); //getData()は他ファイルにある関数群で動作確認済みです. setState(result.data); } get(); }, [] ) return ( // 省略 ) } export default App;
うまくいかないこと
持ってきたデータがObject型でその中にある配列のみをsetStateしたいのですが
Error: Objects are not valid as a React child (found: object with keys []). If you meant to render a collection of children, use an array instead.
というエラーが出てしまう.
レスポンスのデータは以下のような感じです
{ data: [ {hoge: "hoge", huga: "huga"}, {hoge: "foo", huga: "foo"}, ] }
試したこと
- console.log(typeof(result.data))をするとArrayとでます
- Objectをstringに変換してuseStateの初期値を""にするとちゃんと格納されることは確認したのですが、そのままObjectとして格納するとエラーになります。
よろしくお願いします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/14 07:49