我来自API的数据如下所示,
[
{
"id": 1,
"appName": "string",
"defaultAction": "string",
"defaultMessage": "string",
"rules": [
{
"id": 1,
"version": "string",
"brand": "string",
"action": "string",
"message": "string"
},
{
"id": 2,
"version": "string",
"brand": "new brand",
"action": "string",
"message": "string"
}
]
}
]
我试图像下面那样从状态从父数组读取子数组以绑定到表
const { posts } = this.state;
console.log(posts);
const rule_list = posts.map(rules => {
console.log(rules);
});
但是我看到它仍然返回完整的数组而不是仅返回子元素。有人可以在这里帮助我。
答案 0 :(得分:3)
规则是特定索引处的完整元素,您需要访问要访问的属性,即rules.rules
let data = [ { "id": 1, "appName": "string", "defaultAction": "string", "defaultMessage": "string", "rules": [ { "id": 1, "version": "string", "brand": "string", "action": "string", "message": "string" }, { "id": 2, "version": "string", "brand": "new brand", "action": "string", "message": "string" } ] } ]
const rule_list = data.map(({rules}) => {
console.log(rules);
});
答案 1 :(得分:0)
您需要访问每个帖子项目的rules
属性,以获取子rules
数组,如下所示。
posts.map((post) => {
console.log(post.rules);
});
如果您想从所有帖子中组成规则数组,可以按照以下步骤进行操作:
const rule_list = posts.map((post) => {
let { rules } = post;
if(rules && rules.length > 0) {
return rules;
}
});
console.log(rule_list);