我有一个从json中拉出的名字列表,我遍历了这些名字并发布在PersonList页面上。我想点击一个特定的人‘查看个人资料’按钮,它将重定向到他们的PersonShow
我将数据称为变量'persons‘。
PersonList页面。-迭代json并将每个人打印到一个列表中。在“查看个人资料”中,它应该转到“唯一人”列表。
getPersons() {
return persons.filter(person => {
return person;
});
let persons;
persons = this.getPersons().map((person, id) => {
return (
<View
key={id}
}}
>
<Text>{person.name}</Text>
<Button
title={'View Profile'}
key={id}
onPress={() =>
this.props.navigation.navigate('PersonShow', {
personId: `${person.id}`,
})} </Button>
PersonShow页面。它应该有视图配置文件中引用的特定人员的person.name
render() {
person = persons.map((person, id) => {
key = { id };
person => person.id === this.props.navigation.state.params.personId;
});
return (
<View>
<Text>
{persons.name}
发布于 2019-04-12 08:59:22
在onPress
函数中将person
对象传递给PersonShow
页:
onPress={() =>
this.props.navigation.navigate('PersonShow', {
person
})}
在PersonShow
页面,您可以通过导航参数获取person
对象,如下所示:
render() {
let person = this.props.navigation.state.params.person;
return (
<View>
<Text>
{persons.name}
..
发布于 2019-04-12 09:02:42
·在PersonList页面上,当用户点击“查看个人资料”按钮时,您可以将此人的姓名保存在浏览器cookie中。
·然后,您只需重定向到PersonShow页面,在该页面中,您可以显示上一页存储在cookies中的值。
HTML是无状态的。当用户重定向到新页面时,需要某种内存来存储整个JSON的特定部分。使用浏览器cookie是存储该数据的一种方式。Javascript可以读取和写入浏览器cookie。
如果您的浏览器中禁用了cookies,那么您将不得不使用用JAVA、PHP、C#等编写的服务器端脚本。当您让用户进入PersonShow页面时,记住人名。
https://stackoverflow.com/questions/55642756
复制相似问题