【发布时间】:2020-07-20 13:34:04
【问题描述】:
我正在使用 react-native 并且我正在尝试将数据传递给子组件,然后我想使用 map 方法来显示具有键值的用户数据。 所以我在从对象制作数组后得到这个数据,我应该如何破坏它来获取用户名等。 父组件:
render() {
let userMap = Object.entries(this.state.users).map(key => key);
return (
<ViewPager
users={userMap}
usersRetrieved={this.state.usersRetrieved}
addNewMatch={this.addNewMatch}
navigation={this.props.navigation}
/>
);
儿童组件:
<Text>{JSON.stringify(props.users)}</Text>
我应该如何获取用户名或 profile_picture 数据? 我试图做 props.users[0].username 但没有运气
3 个用户的数据示例:
{
"lwcIQTcpAae4e38hrD2K5Ar76W93": {
"email": "emilissssss@temp.lt",
"fbid": "3008*******71455",
"gender": "male",
"profile_picture": "...",
"username": "Emilis"
},
"tempuser": {
"email": "temp@temp.lt",
"fbid": 315151515,
"gender": "female",
"matches": {
"lwcIQTcpAae4e38hrD2K5Ar76W93": [Object]
},
"profile_picture": "...",
"username": "Egle"
},
"thirdUserID":{
"email": "temp@temp.lt"
"username": "thirdUserUsername"
...
}
}
【问题讨论】:
-
你为什么要这么做
let userMap = Object.entries(this.state.users).map(key => key);?为什么不简单地传递let userMap = this.state.users? -
props.users[0].map(......但是为什么你的数据在一个数组中?你能在你的组件使用它之前对其进行标准化吗? -
@palaѕн 如果我像状态一样传递它,我得到对象,使用 .map() 我需要数组
-
@DrewReese 我认为是因为这个:let userMap = Object.entries(this.state.users).map(key => key);
-
@DrewReese 还有两个[]因为只有一个用户,会比较多,所以关闭单个用户数据。
标签: javascript arrays reactjs react-native