我是新来的反应者,自学成才,并且正在尝试学习一个个人项目。
我目前正在尝试制作一个动态生成的元素,该元素可以根据已将哪些数据加载到该元素中来加载其他用户个人资料。例如:
搜索1结果返回:
用户1-(点击加载用户1的配置文件)
用户3-(点击加载用户3的个人资料)
用户5-(点击加载用户5的个人资料)
已从映射为返回搜索结果的json文件中的对象访问此数据
当前,我已经将数据映射到元素,并且可以正常工作,但是当我尝试将ID或name变量映射到属性,然后通过console.log访问它时,它返回未定义的内容。
我正在使用Native Base进行样式设置,因此使用了元素名称:
<Content>
{this.searchedArray.map(user =>
<TouchableHighlight key = {user.ID} name = {user.ID} onPress = {() => {console.log(this.props.name)}} >
<Card style={{height: 130}}>
<Grid>
<Row>
<Col>
<Image style={{width: 100, height: 100}} source = {{uri: user.photoID}}/>
</Col>
<Col>
<Text>{user.fullName}</Text>
</Col>
</Row>
</Grid>
</Card>
</TouchableHighlight>
)}
</Content>
我希望console.log的输出是user.ID值。这行不通,我也尝试过:console.log(user.ID)
但是map函数可以正常工作,如果我将<Text>{user.fullName}</Text>
替换为<Text>{user.ID}</Text>
,它将显示在这里。
任何人都可以给我一些指导,以解决这个问题。
答案 0 :(得分:2)
尝试添加此内容:
onClick={() => {console.log(user.ID)}}