Я много раз пытался ориентироваться, используя useNavigation() в моем классе Component. Но я не смог, потому что по ошибке я должен использовать этот метод внутри функции тела. Я попробовал это внутри render() метода. Это также не помогло. Не могли бы вы помочь мне, если кто-нибудь знает?

import { useNavigation } from '@react-navigation/native';

export default class MenuDrawer extends React.Component{

render(){

const  navigation  = useNavigation();
return(
    <View>
       <Button  onPress={()=>{navigation.navigate('detail')}}  />
   </View>
);

}
}
1
Roa 18 Фев 2020 в 08:55

2 ответа

Лучший ответ

Согласно здесь документам, вы можете заключить компонент в функцию для использования Это

import { useNavigation } from '@react-navigation/native';

export default yourFunction(props) {
  const navigation = useNavigation();

  return <MenuDrawer navigation={navigation} />;
}

Ваш новый MenuDrawer

export default class MenuDrawer extends React.Component {
  render(){
    const { navigation } = this.props;
      return(
        <View>
         <Button onPress={()=>{navigation.navigate('detail')}}  />
       </View>
    );
  }
}
3
Andus 18 Фев 2020 в 06:55

Есть орфографическая ошибка onPress. Вы написали на прессе. Пожалуйста, проверьте.

-1
Vanns35 18 Фев 2020 в 06:22