У меня есть список имен, извлеченных из JSON, которые я перебираю и публикую на странице PersonList. Я хочу нажать на кнопку «Просмотр профиля» для определенных людей, она будет перенаправлена на их PersonShow.

Я называю данные как переменную «персоны».

Страница 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 Page. в профиле должен быть указан person.name конкретного человека, на которого я ссылаюсь

render() {
    person = persons.map((person, id) => {
      key = { id };
      person => person.id === this.props.navigation.state.params.personId;
    });
    return (
      <View>
        <Text>
          {persons.name}
-2
curranbriant 12 Апр 2019 в 03:09

2 ответа

Лучший ответ

Передать объект person на страницу PersonShow в функции onPress:

onPress={() =>
    this.props.navigation.navigate('PersonShow', {
      person
})}

На странице PersonShow вы можете получить объект person с помощью параметра навигации, как показано ниже:

render() {
    let person = this.props.navigation.state.params.person;
        return (
            <View>
                <Text>
                    {persons.name}
                    ..
0
Rocky 12 Апр 2019 в 00:59

• Находясь на странице PersonList, вы можете сохранить имя человека в файлах cookie браузера, когда пользователь нажимает кнопку «Просмотреть профиль».

• Затем вы можете просто перенаправить на страницу PersonShow, и на этой странице вы увидите значение, сохраненное в файлах cookie на предыдущей странице.

HTML не имеет состояния. Вам нужна какая-то память для хранения определенной части всего JSON, поскольку вы позволяете пользователю перенаправлять на новую страницу. Использование файлов cookie браузера является одним из способов хранения этих данных. Javascript может читать и записывать файлы cookie браузера.

Если в вашем браузере отключены файлы cookie, вам нужно будет использовать серверный скрипт, написанный на JAVA, PHP, C # и т. Д., Чтобы запомнить имя человека, когда вы позволяете пользователю перейти на страницу PersonShow.

0
Subhadeep Ray 12 Апр 2019 в 01:02