Я пытаюсь перейти от одного экрана к другому в режиме «Реагировать нативно», перенося значение с одного экрана на другой, однако я получаю вышеуказанную ошибку. В идеале я хотел бы отправить значение из плоского списка, я пытаюсь получить интерактивный плоский список, который переносит параметр из выбранной строки на другой экран.
// index. js
import React from 'react';
import { StyleSheet, Button, Text, View, FlatList, TouchableHighlight } from 'react-native';
const ComponentsScreen = ({ navigation }) => {
//example for detail scree
return (
<View>
<FlatList
data={[
{ key: 'Task 1' },
{ key: 'Task 2' },
{ key: 'Task 3' },
{ key: 'Task 4' },
{ key: 'Task 5' },
]}
renderItem={({ item }) => {
return (
<TouchableHighlight
onPress={() =>
navigation.navigate('Next', { message: 'hello from screen 1' })}
>
<Text >{item.key}</Text>
</TouchableHighlight>
);
}
}
/>
<Button
onPress={() => navigation.navigate('NextScreen')}
title="Go to ImageScreen"
/>
</View>
);
};
const styles = StyleSheet.create({
textStyle: {
fontSize: 30
}
});
export default ComponentsScreen;
// NextScreen. js
import React from 'react';
import { Text, View } from 'react-native';
//example for detail screen
const NextScreen = (route) => {
const { message } = route.params;
return (
<View>
<Text>message: {JSON.stringify(message)}</Text>
</View>
);
};
export default NextScreen;
app. js
import React, { Component } from 'react';
import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
import Index from './screens/Index';
import NextScreen from './screens/NextScreen';
const navigator = createStackNavigator({
Home: Index,
Next: NextScreen
},
{
initialRouteName: 'Home',
defaultNavigationOptions: {
title: 'App'
}
}
);
export default createAppContainer(navigator);