我正在嵌套屏幕,并将道具传递给屏幕,如标题标题和json的呈现。今天早些时候,一切正常,但现在它给了我getParams的错误。
HomeStack.js,在标题中,我通过导航到这个标题的屏幕上的FlatList呈现得到标题。
<Screen
name='errorHP'
component={errorHP}
options={{
headerTitle: () => <Header navigation={navigation} title={navigation.getParam('name')} />,
headerTitleAlign: 'center',}}
/> HP.js,在这里,平面列表呈现并将呈现到页面errorHP。
<FlatList data={filteredSearch} keyExtractor={(item) => item.key} renderItem={({item}) => (
<TouchableOpacity onPress={() => navigation.navigate('errorHP', item)}>
<Card>
<Text style={globalStyles.titleText}> {item.name} </Text>
</Card>
</TouchableOpacity>
)} />errorHP.js,这里列出了错误,单击之后,将再次传递params到一个新页面,该页面将获取错误详细信息。
export default function errorHP ({navigation}) {
const data = navigation.getParam('errors');
const errors = Object.keys(data);
return (
<View style={globalStyles.container}>
<FlatList data={errors} renderItem={({item}) => (
<TouchableOpacity>
<Card>
<Text style={globalStyles.titleText}> {item} </Text>
</Card>
</TouchableOpacity>
)} />我一直在胡闹,仍然解决不了这个问题。感谢您的关注!
发布于 2020-11-20 16:10:20
您需要从route道具中获得params:
export default function errorHP ({navigation, route}) {
const data = route.params.errors;
// whatever
}和
<Screen
name="errorHP"
component={errorHP}
options={({ route, navigation }) => ({
headerTitle: () => (
<Header navigation={navigation} title={route.params.name} />
),
headerTitleAlign: 'center',
})}
/>https://stackoverflow.com/questions/64931712
复制相似问题