FlatList 是否强制要求 json 响应始终以 [] 开头?
Is it Compulsory for FlatList that json response should start with [] always?
我正在使用 flatlist 来显示数据,作为响应,我得到了一些数据。
但是,json 响应字符串以{}大括号而不是 [] 方括号开头。
所以,出现以下错误:
不变违规:尝试获取超出范围索引 Nan.
的帧
做日志后,我在 FlatList 的数据源中得到的是 [Object Object]
我检查了 postman 中的 json 响应及其类似内容:{{[]}},简而言之,它不是以 [] 括号开头。
所以,我有点困惑,FlatList 是否必须具有以 [] 方括号开头的数据源或 json 响应。
如果不是,那么错误可能是什么问题?如果是,我如何将其转换为所需格式?
谢谢。
编辑
这样做:
.then((response) => response.json())
.then((responseJson) => {
this.setState({ isLoading: false,dataSource: responseJson.screen_details})
})
.catch((error) => {
console.error(error);
});
但是,问题仍然存在 对象作为 React 子项无效。
对于 FlatList
,data
属性 需要一个数组,如突出显示的 in the docs。由于 FlatList
通过获取项目列表并为每个项目呈现单独的行来工作,因此 data
属性 需要是一个数组。
收到 JSON 数据后,我建议只将所需的数组传递给 FlatList,例如:
<FlatList
data={myResponse.listOfItems}
...
/>
其中 myResponse
是您的 JSON 对象,listOfItems
是您的项目数组。
此外,根据文档,没有 dataSource
属性,正确的 属性 只是 data
.
我正在使用 flatlist 来显示数据,作为响应,我得到了一些数据。
但是,json 响应字符串以{}大括号而不是 [] 方括号开头。
所以,出现以下错误:
不变违规:尝试获取超出范围索引 Nan.
的帧做日志后,我在 FlatList 的数据源中得到的是 [Object Object]
我检查了 postman 中的 json 响应及其类似内容:{{[]}},简而言之,它不是以 [] 括号开头。
所以,我有点困惑,FlatList 是否必须具有以 [] 方括号开头的数据源或 json 响应。
如果不是,那么错误可能是什么问题?如果是,我如何将其转换为所需格式?
谢谢。
编辑
这样做:
.then((response) => response.json())
.then((responseJson) => {
this.setState({ isLoading: false,dataSource: responseJson.screen_details})
})
.catch((error) => {
console.error(error);
});
但是,问题仍然存在 对象作为 React 子项无效。
对于 FlatList
,data
属性 需要一个数组,如突出显示的 in the docs。由于 FlatList
通过获取项目列表并为每个项目呈现单独的行来工作,因此 data
属性 需要是一个数组。
收到 JSON 数据后,我建议只将所需的数组传递给 FlatList,例如:
<FlatList
data={myResponse.listOfItems}
...
/>
其中 myResponse
是您的 JSON 对象,listOfItems
是您的项目数组。
此外,根据文档,没有 dataSource
属性,正确的 属性 只是 data
.