У меня есть экран Login
в Login
. Когда я нажимаю на синий текст, я хочу, чтобы он перешел к экрану Register
. Тем не менее, он всегда показывает мне ту же Syntax Error: Unexpected Token
.
import React, { Component } from 'react';
import {
ScrollView,
Text,
TextInput,
View,
Button
} from 'react-native';
import { StackNavigator } from 'react-navigation';
import Register from './src/screens/Register';
export default class Login extends Component {
static navigationOptions = {
title: 'Welcome',
}
navigateToRegister = () => {
this.props.navigation.navigate('Register');
}
render() {
return (
<ScrollView style={{padding: 20}}>
<Text
style={{fontSize: 27}}>
Login
</Text>
<TextInput placeholder='Username' />
<TextInput placeholder='Password' />
<View style={{margin:7}} />
<Button
onPress={this.props.onLoginPress}
title="Submit"
/>
<Text style={{color: 'blue'}}
onPress={ this._navigateToRegister }
Register
</Text>
</ScrollView>
);
}
}
const App = StackNavigator({
Login: { screen: Login },
Register: { screen: Register },
Secured: { screen: Secured },
});
AppRegistry.registerComponent('App', () => App);
у вас есть и синтаксическая ошибка в коде.
второй последний текст не имеет закрывающего углового кронштейна
>
import React, { Component } from "react";
import { ScrollView, Text, TextInput, View, Button } from "react-native";
import { StackNavigator } from "react-navigation";
import Register from "./src/screens/Register";
export default class Login extends Component {
static navigationOptions = {
title: "Welcome"
};
navigateToRegister = () => {
this.props.navigation.navigate("Register");
};
render() {
return (
<ScrollView style={{ padding: 20 }}>
<Text style={{ fontSize: 27 }}>Login</Text>
<TextInput placeholder="Username" />
<TextInput placeholder="Password" />
<View style={{ margin: 7 }} />
<Button onPress={this.props.onLoginPress} title="Submit" />
<Text
style={{ color: "blue" }}
onPress={this._navigateToRegister}
Register
/>
</ScrollView>
);
}
}
const App = StackNavigator({
Login: { screen: Login },
Register: { screen: Register },
Secured: { screen: Secured }
});
AppRegistry.registerComponent("App", () => App);
вы можете настроить prettier и eslint, они предоставят вам синтаксическую ошибку прямолинейного кода редактирования, так что вам не нужно будет появляться время на поиск подобных ошибок. Это хорошее руководство по настройке всего
Я столкнулся с ошибками в вашем коде
Вы использовали функцию this._navigateToRegister в onPress и определили функцию navigateToRegister как функцию.
И вы забыли закрыть тег Text
<Text
style={{ color: "blue" }}
nPress={this._navigateToRegister}>
navigateToRegister
onPress={ this.navigateToRegister }
оно будет работать нормально