【问题标题】:React Navigation probem with StackNavigator使用 StackNavigator 反应导航问题
【发布时间】:2019-09-01 10:22:42
【问题描述】:

我已经被这个问题困住了两天。我不知道如何解决这个问题。我知道错误是我不能在那里使用this.porps,但我不知道如何解决。我在任何地方都找不到解决方案。

这是我的导航器配置:

import React from 'react';
import {createStackNavigator, createAppContainer} from 'react-navigation';

import LoginScreen from './screens/auth/Login';
import CadastroScreen from './screens/auth/Cadastro';

class Login extends React.Component {
  render() {
    return (
      <LoginScreen />
    );
  }  
}

class Cadastro extends React.Component {
  render() 
    {
    return (
      <CadastroScreen />
    );
  }  
}

const AppNavigator = {
    Cadastro: {
      screen: Cadastro,
      navigationOptions: { header: null }
    },
    Login: {
      screen: Login,
      navigationOptions: { header: null }
    },
  };

const Config = {
    initialRouteName: 'Login'
}

const AppNavigation = createStackNavigator(AppNavigator, Config);
export default createAppContainer(AppNavigation);

这就是我尝试更改屏幕的方式:

import React from 'react';
import {Text, View, Button, Alert, TextInput, Image, TouchableOpacity} from 'react-native';
import { StackActions, NavigationActions } from 'react-navigation';
import Patern from '../style/Style';
class LoginScreen extends React.Component {

    render() {      
        return (
            <View style={Patern.container}>                
                <TouchableOpacity onPress={() => 
                       this.props.navigation.dispatch(
                        StackActions.reset({
                          routeName: 'Cadastro',
                          index: 0,
                          actions: 
                          NavigationActions.navigate({ routeName: 'Cadastro' })
                 }))}>
                </TouchableOpacity>                
         </View>
        );
    }
}

export default LoginScreen;

【问题讨论】:

    标签: react-native react-navigation


    【解决方案1】:
    class Login extends React.Component {
      render() {
        return (
          <LoginScreen navigatoin={this.props.navigation} />
        );
      }  
    }
    

    您需要将道具从Login 传递给LoginScreen。 Navigation prop 仅从Navigator 传递到一个深度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      相关资源
      最近更新 更多