Navigation.显示打字稿中的某些错误 [英] navigation.navigate('Home') showing some error in typescript

查看:11
本文介绍了Navigation.显示打字稿中的某些错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我使用useNavigation.Navigation.Main";类型为‘{key:string;params?:unfined;merge?:boolean|unfinded;}|{name:Never;key?:string|unfinded;}’的类型的TypeScript返回错误参数时,如果使用useNavigationor或From{导航}在屏幕之间导航,则不能将类型为‘";main;params?:boolean|unfinded;}’的Typecript返回错误参数。这是什么意思?下面是我的代码:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆