在React Native中打字-";绑定元素'导航'隐含地具有'任何'ts(



不是编程新手,而是应用程序开发和反应式原生的新手。我已经搜索了将近四个小时来解决这个问题。我意识到有很多这样的问题,但这不是重复的,因为任何工作代码都没有在我的代码上工作过。

我遵循了本教程,VS代码给了我错误。也就是说,与.tsx屏幕文件中的文本和按钮导入相关。以下代码不断给我一个错误:

const HomeScreen = ({ navigation }) => {
return (
<Button
title="Go to Jane's profile"
onPress={() =>
navigation.navigate('Profile', { name: 'Jane' })
}
/>
);
};

错误:绑定元素"navigation"隐式具有"any"类型。ts(7031(

据我所知,这与在语言中键入有关,因为类型尚未声明,所以我无法使用代码。问题是,我遵循了教程,搜索了许多不同的网站和一些不同的教程,但我没能做到这一点。

我已经为第一行尝试了所有这些变体:

const HomeScreen = ({ navigation.navigate ) => {
const HomeScreen = ({ navigation } : Navigator) => {
const HomeScreen = ({ navigation NavigationContainer}) => {
const HomeScreen = ({ navigation = NavigationAction}) => {
const HomeScreen = ({ }) => {

所以我尝试了很多不同的变体来解决这个问题。老实说,我真的很困,在尝试学习教程但在网上找不到答案后,我真不知道该怎么办。我确信语法有明显的错误,但作为一名新手,我不知道如何发现它。谢谢。

import { StackScreenProps } from '@react-navigation/stack';
...
const HomeScreen = ({ navigation }:StackScreenProps<{Profile: any}>) => {

您必须声明一个导航类型。

const HomeScreen = ({ navigation:: StackNavigationProp<HomeParamList> }) => {}

因此,在HomeParamList中,您可以定义导航路径。

export type HomeParamList= {
Home: undefined;
};

最新更新