Реагировать на навигацию - this.props.navigation.state не определено - PullRequest
0 голосов
/ 16 апреля 2020

Использование: "@ реагировать-навигация / ящик": "^ 5.4.0", "@ реагировать-навигация / собственный": "^ 5.1.4",

Приложение. js:

    import { createDrawerNavigator } from '@react-navigation/drawer';
    ...
    const Drawer = createDrawerNavigator();
    const DrawerRender = () => {
    return (
      <NavigationContainer>
        <Drawer.Navigator drawerContent={props => <DrawerContent {...props} />}>
          <Drawer.Screen name="Home" component={Home} />
          <Drawer.Screen name="Screen1" component={Screen1} options={{unmountOnBlur: true, gestureEnabled: false}} />
          <Drawer.Screen name="Screen2" component={Screen2} options={{unmountOnBlur: true, gestureEnabled: false}} />
        </Drawer.Navigator>
      </NavigationContainer>
    );}

С Screen1:

    navigateToPage = page_id => {
      this.closeCommentScreen();
      this.reopenModal = true;
      this.props.navigation.navigate('Screen2', {'page_id': 'testing'});
    }

На Screen2:

    export default class Screen2 extends React.Component {

    constructor(props) {
       super(props);
    }
    componentDidMount() {
       let id = this.props.navigation.state.params.page_id
       ...

Я пытался напечатать "this.props.navigation", и он всегда возвращает пустой словарь {} следовательно, params не определен.

Что я делаю не так?

1 Ответ

1 голос
/ 17 апреля 2020

Это this.props.route.params

См. Руководство по обновлению https://reactnavigation.org/docs/upgrading-from-4.x#separate -route-prop

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...