Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 错误:使用Expo、Navigation和#x27进行本地响应';navigation.navigate不是一个函数;_Typescript_React Native_Navigation_Expo - Fatal编程技术网

Typescript 错误:使用Expo、Navigation和#x27进行本地响应';navigation.navigate不是一个函数;

Typescript 错误:使用Expo、Navigation和#x27进行本地响应';navigation.navigate不是一个函数;,typescript,react-native,navigation,expo,Typescript,React Native,Navigation,Expo,我正在使用Expo(Typescript)和Ract导航创建一个简单的React原生应用程序。 我定义了两个屏幕,登录和主页,当我尝试从登录导航到主页时,会产生一个错误: TypeError:navigation.navigate不是函数。(在“navigation.navigate('Home')”中,“navigation.navigate”未定义) 我的主要代码: App.tsx import React, {useState} from 'react'; import { Navigat

我正在使用Expo(Typescript)和Ract导航创建一个简单的React原生应用程序。 我定义了两个屏幕,登录和主页,当我尝试从登录导航到主页时,会产生一个错误:

TypeError:navigation.navigate不是函数。(在“navigation.navigate('Home')”中,“navigation.navigate”未定义)

我的主要代码:

App.tsx

import React, {useState} from 'react';
import { NavigationContainer, StackActions } from '@react-navigation/native';
import Navigator from './Components/Navigator';

export default class App extends React.Component {
  render(){
   return (
     <NavigationContainer>
       <Navigator/>
     </NavigationContainer>
  );
 }
}
import React from 'react'
import { createStackNavigator } from '@react-navigation/stack'
import Login from '../Views/Login'
import Home from '../Views/Home'

const Stack = createStackNavigator();

const Navigator= () =>{
   return (
        <Stack.Navigator>
            <Stack.Screen name="Login" component={Login} />
            <Stack.Screen name="Home" component={Home} options={{title:'Home.'}}/>
        </Stack.Navigator>
   );
}

export default Navigator;
import React,{useState}来自“React”;
从'@react navigation/native'导入{NavigationContainer,StackActions};
从“./Components/Navigator”导入导航器;
导出默认类App扩展React.Component{
render(){
返回(
);
}
}
Navigator.tsx

import React, {useState} from 'react';
import { NavigationContainer, StackActions } from '@react-navigation/native';
import Navigator from './Components/Navigator';

export default class App extends React.Component {
  render(){
   return (
     <NavigationContainer>
       <Navigator/>
     </NavigationContainer>
  );
 }
}
import React from 'react'
import { createStackNavigator } from '@react-navigation/stack'
import Login from '../Views/Login'
import Home from '../Views/Home'

const Stack = createStackNavigator();

const Navigator= () =>{
   return (
        <Stack.Navigator>
            <Stack.Screen name="Login" component={Login} />
            <Stack.Screen name="Home" component={Home} options={{title:'Home.'}}/>
        </Stack.Navigator>
   );
}

export default Navigator;
从“React”导入React
从“@react navigation/stack”导入{createStackNavigator}
从“../Views/Login”导入登录名
从“../Views/Home”导入主页
const Stack=createStackNavigator();
常量导航器=()=>{
返回(
);
}
导出默认导航器;
Login.tsx(按下按钮时,如果输入有值,则导航到Home.tsx)

import React,{useState}来自“React”
从“react native”导入{文本、文本输入、视图、图像、按钮}
从“./styles/LoginStyles”导入样式
常量登录=(导航)=>{
const[result,setResult]=useState(false);
const[userName,setUserName]=useState(“”);
const[password,setPassword]=useState(“”);
报税表(
欢迎
setUserName(txt)}style={styles.txtInputsLog}/>
setPassword(txt)}style={styles.txtInputsLog}secureTextEntry={true}/>
(userName.length>0和password.length>0)?navigation.navigate('Home'):setResult(!result)}/>
{result?Usuario:{userName},Password:{Password}:null}
);
}
导出默认登录;

完整工作应用程序:

import React,{useState}来自“React”;
从“react native”导入{文本、文本输入、视图、图像、按钮、样式表};
常量登录=({navigation})=>{
const[result,setResult]=useState(false);
const[userName,setUserName]=useState(“”);
const[password,setPassword]=useState(“”);
返回(
欢迎
setUserName(txt)}
style={styles.txtInputsLog}
/>
设置密码(txt)}
style={styles.txtInputsLog}
secureTextEntry={true}
/>
userName.length>0&&password.length>0
?导航。导航(“主页”)
:setResult(!result)
}
/>
{结果如何(
Usuario:{userName},Password:{Password}
):null}
);
};
导出默认登录;

它不工作,几乎相同的错误这里是工作代码链接。没问题。是的,现在可以了,谢谢!