Реагировать на встроенную функцию getParam () не определено - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь передать переменную от страницы к другой, используя метод навигации, но когда я пытаюсь прочитать ее, как показано ниже, я получаю метод getParam () не определен. Я не использую классы.

Вот FirstPage, откуда я передаю переменную

const handleBarCodeScanned = ({ type, data }) => {
setScanned(true);
//alert(`Bar code with type ${type} and data ${data} has been scanned!`);
splitted = data.split('=');
invitationFromURL=splitted[1];
navigation.navigate('HomeScreen',{text:invitationFromURL}); 


//console.log('Invite '+splitted[1]); 



}; 

Вот домашняя страница, где я получаю переменную

import { Image, Platform, StyleSheet, Text, TouchableOpacity, View, Button,Alert } from 'react-native';
import { ScrollView } from 'react-native-gesture-handler';
//import { IconButton, Colors } from 'react-native-paper';
import * as WebBrowser from 'expo-web-browser';


import { NavigationContainer } from '@react-navigation/native'
import { createStackNavigator } from '@react-navigation/stack'


//import { BarCodeScanner } from 'expo-barcode-scanner';

import { MonoText } from '../components/StyledText';






export default function HomeScreen(props) {
const { navigation } = props

const text = navigation.getParams ('text','nothing sent');

Я получаю ошибку
** navigation.getParams не является функцией. (В 'navigation.getParams (' текст ',' ничего не отправлено ')', 'navigation.getParams' не определено) **

1 Ответ

0 голосов
/ 22 марта 2020

в версии 5 с реагирующей навигацией вы должны использовать route prop вот так:

function HomeScreen({ navigation, route }) {
 const text = route.params?.text;

 return <View>...</View>
}
...