【问题标题】:Typescript React Native navigation.push incorrect typingTypescript React Native navigation.push 输入错误
【发布时间】:2021-11-02 05:40:27
【问题描述】:

在我的 react native 应用中,我使用的是@react-navigation/native-stack。

以下行给出错误:

navigation.push('ScreenName', {myParam});

错误是:

TS2345: Argument of type '[string, { myParam: string; }]' is not assignable to parameter of type '[any, string | number | symbol] | [any, string | number | symbol, any, any]'

此代码确实有效,并且是文档指定的方式。我应该怎么做才能让 typescript 认为它是正确的?

编辑:我的代码

export default function Home({navigation}: NativeStackScreenProps<any>) {
    return (
        <View style={styles.container}>
            <Button onPress={() => navigation.push('ScreenName', {myParam: 'stuff'})} title={'Go to ScreenName'}/>
        </View>
    );
}

【问题讨论】:

  • 是否提供了类型导航成本?或者你是如何获得这个导航的,你可以分享代码吗?
  • @Xhirazi 添加了代码
  • 指定正确的类型而不是any

标签: typescript react-native react-native-navigation


【解决方案1】:

使用下面的代码。

export default function Home({navigation} : {navigation: StackNavigationProp<any, any>}) {
    return (
        <View style={styles.container}>
            <Button onPress={() => navigation.push('ScreenName', {myParam: 'stuff'})} title={'Go to ScreenName'}/>
        </View>
    );
}

【讨论】:

    猜你喜欢
    • 2018-10-07
    • 2020-06-07
    • 2023-04-02
    • 2020-01-24
    • 2020-11-29
    • 2018-01-10
    • 2021-01-29
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多