Передача item.name в StackNavigator React Native - PullRequest
0 голосов
/ 07 апреля 2020

Итак, у меня есть flatList, который отображает имена, используя Fetch api,

<FlatList
          data={this.state.data}
          keyExtractor={item => item.id}
          renderItem={({item}) => <TouchableOpacity onPress {()=>NavigationService.navigate('Med') }>

      <Text> {item.name}</Text>)}

при нажатии на одно из имен, я перехожу на другой экран, где мне придется использовать «item.name», как могу ли я передать это param.on этот код экрана, который я использую класс, и я не хочу использовать функцию.

class search extends React.Component {

    constructor(props){
        super(props);
    }.....

заранее спасибо

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Поскольку ваша NavigationService ручка navigate работает с параметрами, как показано ниже,

export function navigate(name, params) {
  navigationRef.current?.navigate(name, params);
}

Вы можете передавать свои параметры как

<TouchableOpacity onPress {() => NavigationService.navigate('Med', {name: item.name})}>

После перехода к указанному c экран вы можете получить доступ к вам name параметров как

this.props.route.params.name

Надеюсь, это поможет вам. Не стесняйтесь сомнений.

0 голосов
/ 07 апреля 2020

проверьте, надеюсь, это будет работать сейчас, передайте ваш item.name в этом действии навигации

  <FlatList
              data={this.state.data}
              keyExtractor={item => item.id}
              renderItem={({item}) => <TouchableOpacity onPress {()=>NavigationService.navigate(`${item.name}`) }>

          <Text> {item.name}</Text>)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...