Jak mogę wywołać nawigację z pliku akcji podczas korzystania z nawigacji Reaction V5 i Redux w mojej aplikacji natywnej reakcji? Czy jest jakiś preferowany sposób na to, jak to zrobić? Gdy wynik jest spełniony, chcę wywołać nawigację na następny ekran, ale nie mogę używać USEnavigation (). Dzięki.

1
moh warf 7 kwiecień 2020, 16:57

2 odpowiedzi

Najlepsza odpowiedź

Utwórz ref do nawigacjiContainer

import { NavigationContainer } from '@react-navigation/native';
import { navigationRef } from './path/to/RootNavigation.js';

export default function App() {
  return (
    <NavigationContainer ref={navigationRef}>{/* ... */}</NavigationContainer>
  );
}

Utwórz moduł rootnavigation.js, aby utrzymać ref

import * as React from 'react';

export const navigationRef = React.createRef();

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

Teraz wywołuje nawigację z dowolnego miejsca za pomocą poniżej:

import * as RootNavigation from './path/to/RootNavigation.js';

//...

RootNavigation.navigate('ChatScreen', { userName: 'Lucy' });

Odniesienie: https://rea_ctnavigation.org/docs/navigating-without-navigation-prop /.

3
Amstel D'Almeida 7 kwiecień 2020, 17:54

Czy to pytanie ci pomoże? Wydaje się, że został stworzony przez kogoś, kto próbuje wykonać podobny scenariusz do twojego

Nawigacja reaguje: nawiguj z pliku akcji

0
Gabcvit 7 kwiecień 2020, 15:01