Navigation.显示打字稿中的某些错误 [英] navigation.navigate('Home') showing some error in typescript
本文介绍了Navigation.显示打字稿中的某些错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我使用useNavigation.Navigation.Main";类型为‘{key:string;params?:unfined;merge?:boolean|unfinded;}|{name:Never;key?:string|unfinded;}’的类型的TypeScript返回错误参数时,如果使用useNavigationor或From{导航}在屏幕之间导航,则不能将类型为‘";main;params?:boolean|unfinded;}’的Typecript返回错误参数。这是什么意思?,请参阅{name:Never;key?:string|unfinded;params:Never;Merge?:Boolean|UnDefined;}‘这是什么意思?
下面是我的代码:
import React from 'react';
import { View } from 'react-native';
import { Button } from 'react-native-paper';
import { useNavigation } from '@react-navigation/native';
const Home: React.FC = () => {
const navigation = useNavigation();
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Button onPress={() => navigation.navigate('Main')}>Navigate</Button>
</View>
);
};
export default React.memo(Home);
以前我使用了Reaction导航v5和使用该方法查找
感谢您的帮助
推荐答案
也许您需要这样做:
export type RootStackParamList = {
Main: undefined;
Home: undefined;
};
const Stack = createStackNavigator<RootStackParamList>();
export const RootNavigator = () => {
return (
<Stack.Navigator initialRouteName="Main">
<Stack.Screen
name="Main"
component={Main}
/>
<Stack.Screen
name="Home"
component={Home}
/>
</Stack.Navigator>
);
};
然后在您的代码中执行如下操作:
type homeScreenProp = StackNavigationProp<RootStackParamList, 'Home'>;
const Home: React.FC = () => {
const navigation = useNavigation<homeScreenProp>();
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Button onPress={() => navigation.navigate('Main')}>Navigate</Button>
</View>
);
};
这篇关于Navigation.显示打字稿中的某些错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文