javascript - React Native:json.data 不是一个函数。(在 'json.data()' 中,'json.data' 是 Array 的一个实例)]
问题描述
我正在尝试使用 API 显示来自我的网络的数据。我的 API 工作正常。但有些我如何面对这个问题json.data is not a function. (In 'json.data()', 'json.data' is an instance of Array)]
。我可以帮助我吗?
_loadInitialState = async () => {
const token = await AsyncStorage.getItem('token');
const myArray = await AsyncStorage.getItem('language_type');
_onSetLanguage(myArray)
var loadAll = this.props.navigation.getParam('loadAll');
if (loadAll == true) { this.setState({ isLoading: true }) }
var have_access = this.props.navigation.getParam('have_access');
if (have_access != undefined) { this.setState({ have_access: have_access }) }
if (staticData.get_centre_settings() != null) { this.setState({ have_access: true }) }
let today = Moment();
this.setState({
today: Moment(today).format('YYYY-MM-DD'),
})
// alert(FetchURL.get_baseURL() + "leave?centre_id=" + staticData.get_centre_settings().centre.centre_id)
// alert(token)
// return
fetch(FetchURL.get_baseURL() + "leave?centre_id=" + staticData.get_centre_settings().centre.centre_id, {
method: 'GET',
headers: {
'Authorization': 'Bearer '+ token,
}
})
.then(response => response.json())
.then((json) => {
// alert(json)
if (json.error) {
alert(json.error);
} else {
this.setState({
staffLeave: json.data(),
isLoading: false
});
}
})
.catch((err) => {
console.log(err)
alert(err)
// alert(strings.data_fail);
})
this.setState({ view_access: true })
}
我一直在寻找这个,但找不到一个可以说明这一点的答案。
谢谢!
解决方案
你有 as 之后的response.json()
响应json
。如果您想将其存储为 state,usejson.data
而不是json.data()
,就像您检查json.error
.
推荐阅读
- sql-server - SQL:我想解决,如何返回每个成员的最后一个操作
- mapbox - Mapbox iOS - 使用 centerOffset 时,不可见的注释显示在左上角
- spring-boot - 有没有办法在 Junit4(5) 中强制执行测试类的顺序
- python - 已解决 - Python - Numpy 串联 3D 数组 - 内存不足 - 更大的数据集
- r - 使用 cem 包粗化精确匹配 - .subset2 中的错误(x,i,精确 = 精确)
- javascript - 加载动态数据时如何为highcharts指定特定的刻度位置?
- java - 使用 Selenium 的无头 Web 自动化
- ios - 自定义字体未显示在字体系列列表中
- python - script 标签下的网页抓取
- c++ - 长时间锁定互斥锁是否安全?