错误:找不到变量堆栈,反应导航

Rah*_*man 3 react-native react-navigation

我正在尝试使用 react native 开发一个 todolist 应用程序,为此我对主屏幕进行了编码。我遵循了一些文档,但它给了我这个错误。请帮忙。我已按以下顺序执行了命令。

 expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

 npm install @react-navigation/native

 npm install @react-navigation/stack
Run Code Online (Sandbox Code Playgroud)

吨

这是我的代码。

import React from 'react';
import { StyleSheet, Text, View ,Button} from 'react-native';
import 'react-native-gesture-handler';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator} from '@react-navigation/stack';

class HomeScreen extends React.Component {
  constructor(props){
    super(props);
    this.state={}
  }
  render(){
    return(
      <View>
      <View style={{margin:50}}>
        <Button title="New Task"></Button>
      </View>
    </View>
    )
  }
}

export default function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Home" component={HomeScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}
Run Code Online (Sandbox Code Playgroud)

Gos*_*dra 5

你没有在你的程序中声明 Stack 在你的程序中包含这一行:

const Stack = createStackNavigator();
Run Code Online (Sandbox Code Playgroud)

在您的 App 函数中添加这一行,如下所示:

export default function App() {
  const Stack = createStackNavigator();
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Home" component={HomeScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!