【发布时间】:2019-02-05 20:36:03
【问题描述】:
我使用的是 Native v0.58.3,但我似乎无法让导航正常工作。
我似乎无法弄清楚为什么它不起作用,并且在调试和查看文档时找不到错误。我得到的错误是:
null 不是对象(评估 'rngesturehandlermodule.state')
运行此代码时:
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow
* @lint-ignore-every XPLATJSCOPYRIGHT1
*/
import React, {Component} from 'react';
import {widthPercentageToDP as wp, heightPercentageToDP as hp} from 'react-native-responsive-screen';
import {Platform, StyleSheet, Text, View, Image, ScrollView, Navigator, Button, TouchableOpacity, borderRadius} from 'react-native';
import {createStackNavigator, createAppNavigator} from 'react-navigation';
import TimeLine from './Screens/TimeLine';
import Home from './Screens/Home';
const RootStack = createStackNavigator(
{
Home: { screen: Home },
TimeLine: { screen: TimeLine },
},
{
initialRouteName: 'Home',
}
);
type Props = {};
export default class App extends Component<Props> {
render() {
return <RootStack />;
}
}
import React, {Component} from 'react';
import {widthPercentageToDP as wp, heightPercentageToDP as hp} from 'react-native-responsive-screen';
import {Platform, StyleSheet, Text, View, Image, ScrollView, Navigator, Button, TouchableOpacity, borderRadius} from 'react-native';
import {createStackNavigator, createAppNavigator, StackNavigator} from 'react-navigation';
const styles = StyleSheet.create({
container: {flex: 1},
Button: {
backgroundColor: '#992632',
marginTop: hp('6.665%'),
marginBottom: hp('6,665%'),
marginRight: wp('4%'),
marginLeft: wp('4%'),
height: hp('20%'),
borderRadius: 150,
}
});
export class Home extends Component {
render() {
return (
<View style={{
backgroundColor: '#0a6ca3',
height: hp('100%'),
}}>
<TouchableOpacity
onPress={() => this.props.navigation.navigate('TimeLine')}
style={styles.Button}>
<Text style = {{fontSize: 75, color: 'white', textAlign: 'center', marginTop: hp('4.5%')}}> Tidslinje </Text>
</TouchableOpacity>
<TouchableOpacity
onPress={function(){
console.log('Rasmus')
}}
style={styles.Button}>
<Text style = {{fontSize: 75, color: 'white', textAlign: 'center', marginTop: hp('4.5%')}}> Diskussion </Text>
</TouchableOpacity>
<TouchableOpacity
onPress={function(){
console.log('Rasmus')
}}
style={styles.Button}>
<Text style = {{fontSize: 75, color: 'white', textAlign: 'center', marginTop: hp('4.5%')}}> Demokrati </Text>
</TouchableOpacity>
</View>
)
}
}
export default Home;
【问题讨论】:
-
该错误通常是由链接问题引起的。您是否正确链接了代码?另外,您应该将
RootStack包装在createAppNavigator中,例如const AppNav = createAppNavigator(RootStack);,并在渲染中使用AppNav代替RootStack -
添加此代码后: const AppNav = createAppNavigator(RootStack);到我的项目它仍然给我同样的结果?
-
我知道这不能解决您的问题。我正在纠正您的反应导航设置。该错误是由于未正确链接包引起的。您需要重新检查您的设置方式。
-
此外,如果这发生在 Android、iOS 或两者上,您应该在问题中说明。因为这将有助于缩小问题所在
-
谢谢您已更正,我找不到链接错误?
标签: android react-native navigation