Я пытался выучить React Native, следуя этой серии руководств, и я застрял с навигацией по родной реакции.https://www.youtube.com/watch?v=5uIftiPLsC4&list=PLYxzS__5yYQlHANFLwcsSzt3elIbYTG1h&index=21
На симуляторе iPhone я получаю эту ошибку:
(0, _reactNavigation.createStackNavigator) is not a function. (In '(0, _reactNavigation.createStackNavigator)({
home: App,
test: Test
})', '(0, _reactNavigation.createStackNavigator)' is undefined)
А на Android я получаю эту ошибку:
Properties can only be defined on Objects.
Это код, который у меня есть в App.js
import React, {Component} from 'react';
import {
Platform,
StyleSheet,
Text,
View,
Button
} from 'react-native';
import {createStackNavigator} from 'react-navigation';
class App extends Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
This is App component!
</Text>
<Button onPress={() => this.props.navigation.navigate('test')} title="Go to Test"></Button>
</View>
);
}
}
class Test extends Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
This is Test component!
</Text>
<Button onPress={() => this.props.navigation.navigate('home')} title="Go to App"></Button>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
export default createStackNavigator({
home: App,
test: Test
})
В основном это просто скопировано из учебника, но единственный способ заставить его отобразить что-либо - это удалить следующее снизу
export default createStackNavigator({
home: App,
test: Test
})
и добавьте экспорт по умолчанию обратно в приложение, но тогда, очевидно, навигация не будет работать.
Я установил обработчик реагировать на навигацию и реагировать на родные жесты (тоже связан) и добавил строки в Android MainActivity..java, как указано в документации.
Я что-то упустил?Заранее спасибо.