【发布时间】:2020-02-19 01:50:49
【问题描述】:
我正在使用useEffect 获取数组数据然后显示项目。当我获取数据时,我可以看到数据已成功获取。
但是当我尝试在view 中显示数据时,它给了我一个错误Cannot read property 'name' of undefined
我认为view 是在获取之前呈现的。但我使用async await 来确保首先调用useEffect。
知道如何在view 中显示数据吗?
任何 cmets 或建议都会非常有帮助。在此先感谢:)
const FetchUsers = () => {
const [data, setData] = useState([])
const [loading, setLoading] = useState([])
const URL = "myurl..."
useEffect(() => {
async function fetchData() {
const res = await axios.get(URL, {headers: {"x-access-token":memberToken}});
const response = await res;
console.log(response.data.data,'data')
//when I console log
// [{…}, {…}] "data"
//0: { name: "kevin", age: 39}
//1: { name: "john", age: 23}
console.log(response.data.data[0].title, 'name')
setData(response.data.data);
setLoading(false);
}
fetchData()
}, [])
return(
<View>
//I am trying to display fetched data
<Text>{data[0].name}</Text>
</View>
)
}
【问题讨论】:
标签: javascript reactjs react-native fetch