反应原生 foreach 循环

新手上路,请多包涵

我正在用 React Native 开发一个小应用程序,我正在寻找类似 foreach 函数的东西。我只是找不到 foreach 循环。不在 StackOverflow 上,甚至不在 docs 上。我用“地图”找到了一些东西,但我不知道这是否是我要找的东西。

通过对我的服务器的请求,我得到了多个用户对象。当我记录结果时,它看起来像这样:

目的 {
    “id”:“1”,
    “角色”:“用户”,
    “用户名”:“用户 1”,
  },
目的 {
    “id”:“2”,
    “角色”:“管理员”,
    “用户名”:“用户 2”,

我想将其输出到列表中。在普通的 PHP 中,我会为此使用 foreach 循环,但就像我说的,我找不到 React Native 的 foreach 循环。

怎么可能循环处理这些对象?我知道我也可以使用一个简单的 for 循环,但这绝对不是我的首选……

编辑: 我将此值保存在 this.state.usersthis.setState({users: responseData.users}); 中。状态在我的构造函数中定义。我尝试使用 this.state.users.map(id => <Text>{id}</Text>) 访问它,但我总是得到同样的错误: null is not an object (evaluating 'this.state.users.map') 。我这样做对吗?

原文由 Tekk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 611
2 个回答

您可以使用 mapfor-of 或任何其他

例子:

 // for of
for (let userObject of this.state.users) {
    console.log(userObject.username);
}
// map
this.state.users.map((userData) => {
    console.log(userData.username);
});

根据错误,您可能在 users 状态中没有数据,因此您收到错误消息。如果数据正确,则上面的示例将正常工作

原文由 Jigar Shah 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 react 中,首选的方式是 map Array 的方法。使用 ES6 箭头函数的示例:

 render() {
    return (
        <View>
           {dataList.map(r => <Button>{r}</Button>)}
        </View>
    )
}

原文由 Ozgur 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题