React Native Base导航

问题描述 投票:0回答:1

当我点击登录按钮时,我想导航到另一个屏幕(即“详细信息”)。这是我的主要工作代码:(可以在Snack Expo上检查)

import React, { Component } from 'react';
import { Container, Header, Left, Body, Right, Button, Title, Text, Form, Item, Input, Label} from 'native-base';
import { StackNavigator } from 'react-navigation';
import { DrawerNavigator } from "react-navigation";

export default class Login extends Component {
  constructor(props) {
    super(props);

    this.state = {
      username: '',
      password: '',
    };
  }
  render() {
    return (
      <Container>
      <Text >Instaride</Text>
      <Form>
            <Item floatingLabel>
              <Label onChangeText={(text) => this.setState({username: text})}>Username</Label>
              <Input 
              value={this.state.username}
          onChangeText={username => this.setState({ username })}
          placeholder={'Username'}
          />
            </Item>
            <Item floatingLabel last>
              <Label >Password</Label>
              <Input 
              value={this.state.password}
          onChangeText={password => this.setState({ password })}
          placeholder={'Password'}
          secureTextEntry={true}
          />
            </Item>
          </Form>
          <Left>
            <Button >
              <Text>Login</Text>
            </Button>
            <Text >Forgot Password?</Text>
          </Left>
          <Right>
            <Button hasText transparent>
              <Text>Sign Up Here</Text>
            </Button>
          </Right>
      </Container>
    );
  }
}
class DetailsScreen extends React.Component {
  render() {
    return (
        <Text>Details Screen</Text>
    );
  }
}

class RegisterationScreen extends React.Component {
  render() {
    return (

        <Text>sign up time</Text>
    );
  }
}

但是,添加此内容时出现错误:

const HomeScreenRouter = DrawerNavigator(
  {
    Home: { screen: Login },
    Chat: { screen: DetailsScreen },
    Profile: { screen: RegisterationScreen }
  }
)

我无法真正找到一种方法来组合所有这些:

onPress={() => this.props.navigation.navigate("Details")}

而且,在代码末尾我应该是什么[[exporting?

javascript reactjs react-native react-native-android native-base
1个回答
0
投票
您应该执行这样的操作才能工作...

import React, { Component } from 'react'; import { Container, Header, Left, Body, Right, Button, Title, Text, Form, Item, Input, Label} from 'native-base'; import { StackNavigator } from 'react-navigation'; import { DrawerNavigator } from "react-navigation"; import { createAppContainer } from 'react-navigation'; class Login extends Component { constructor(props) { super(props); this.state = { username: '', password: '', }; } render() { return ( <Container> <Text >Instaride</Text> <Form> <Item floatingLabel> <Label onChangeText={(text) => this.setState({username: text})}>Username</Label> <Input value={this.state.username} onChangeText={username => this.setState({ username })} placeholder={'Username'} /> </Item> <Item floatingLabel last> <Label >Password</Label> <Input value={this.state.password} onChangeText={password => this.setState({ password })} placeholder={'Password'} secureTextEntry={true} /> </Item> </Form> <Left> <Button > <Text>Login</Text> </Button> <Text >Forgot Password?</Text> </Left> <Right> <Button hasText transparent> <Text>Sign Up Here</Text> </Button> </Right> </Container> ); } } class DetailsScreen extends React.Component { render() { return ( <Text>Details Screen</Text> ); } } class RegisterationScreen extends React.Component { render() { return ( <Text>sign up time</Text> ); } } const HomeScreenRouter = createStackNavigator( { Home: { screen: Login }, Chat: { screen: DetailsScreen }, Profile: { screen: RegisterationScreen } } ) export default createAppContainer(HomeScreenRouter);

© www.soinside.com 2019 - 2024. All rights reserved.