我正在尝试迭代本机应用程序中的对象数组(从ActiveRecord查询中检索)以呈现在表中。
ActiveRecord查询
def list
render json: Client.select('name, created_at, id').order('created_at DESC')
end
这就是我从API(反应)中获取数据的方式:
getStatus() {
fetch(global.api_clients, {
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Token token=' + global.token,
},
})
.then((response) => response.json())
.then((responseJson) => {
this.setState({
clients: responseJson
});
})
.catch((error) => {
console.error(error);
});
}
查询输出
Array [
Object {
"created_at": "2019-05-08T11:33:06.573Z",
"id": 1,
"name": "Francesco",
},
]
渲染
render() {
const state = this.state;
const listItems = state.clients.map((link) =>
<Row data={link.name} textStyle={styles.text}/>
);
console.log(this.state.clients);
return (
<View style={styles.container}>
<Table borderStyle={{borderWidth: 2, borderColor: '#c8e1ff'}}>
<Row data={state.tableHead} style={styles.head} textStyle={styles.text}/>
{listItems}
</Table>
</View>
)
}
未定义不是函数(在'... data.map ...'附近)
答案 0 :(得分:0)
找到了。 行数据中存在错误,因为它假装为数组。 这样解决:
<Row data={[link.name, link.id, link.name]} textStyle={styles.text}/>