如何使用 React Navigation 解决 TypeScript 中的“参数类型与参数不匹配”问题?

问题描述 投票:0回答:1

我尝试在 Reactnavigation 中使用 Typescipt,但 IDE (webstorm) 出现错误

我的

Navigator

export type RootStackParamList = {
    AppStack: undefined;
    AuthStack: undefined;
};

const RootStack = createStackNavigator<RootStackParamList>();

const Navigation: React.FunctionComponent = () => {
    return (
        <RootStack.Navigator>
            <RootStack.Screen name="AuthStack" component={AuthStack} />
            <RootStack.Screen name="AppStack" component={AppStack} />
        </RootStack.Navigator>
    );
}

我的

LoginScreen
AuthStack
:

type NavigationProps = StackNavigationProp<RootStackParamList>;
const LoginScreen = () => {
    const navigation = useNavigation<StackNavigationProp<RootStackParamList>>();
    const requestLogin = () => {
        navigation.navigate('AppStack');  // IDE show error in 'AppStack'
    }
}

我运行应用程序,一切正常,但 IDE 仍然显示错误:

Argument types do not match parameters
。 这不是 eslint 错误。

我该如何修复这个错误?

typescript react-native react-navigation
1个回答
0
投票

好像是旧版本Webstorm的一个bug。我刚刚将 Webstorm 更新到 2023.2.5,错误就消失了

© www.soinside.com 2019 - 2024. All rights reserved.