网站搜索

javascript - 将 props 从 App 类传递到 const 函数组件 React TypeScript


我正在尝试用 Expo 创建一个 React Native 应用。我在将 props 从 App 类传递到我的类型为 const 函数的组件 “Navigator” 时遇到了逻辑错误。我不确定应该如何传递 props,或者如何在不从 App 传递的情况下访问它们:

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 props={this.props}/>
     </NavigationContainer>
   );
  }
}

导航器.tsx

import React from 'react'
import { createStackNavigator } from '@react-navigation/stack'
import Login from '../Views/Login'
import Home from '../Views/Home'

const Stack = createStackNavigator();

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

export default Navigator;

我有错误:未定义的对象(props)

答案#1

这是因为你在进行解构

那么当你调用 props 时,就像在做 props.props

function Navigator(props){// remove {  } from this line