react-native - 未定义不是反应导航的对象
问题描述
我的项目有两个组件,我已经完成了反应导航的所有步骤,如下所示:
// App.js
import React from 'react';
import Main from './app/componenets/Main'
import details from './app/componenets/details'
import { createStackNavigator, createAppContainer } from 'react-navigation'
const mainNavigator = createStackNavigator(
{
MainScreen: Main,
detailsScreen: details,
},
{
initialRouteName :'MainScreen'
}
);
const AppContainer = createAppContainer(mainNavigator);
export default class App extends React.Component{
render() {
return(
<AppContainer />
);
}
}
然后我有我的 Main.js,我有一个方法如下:
import React from 'react';
import {
StyleSheet ,
Text,
View,
} from 'react-native'
import Note from './Note'
import detail from './details'
import { createStackNavigator, createAppContainer } from "react-navigation";
export default class Main extends React.Component {
static navigationOptions = {
title: 'To do list',
headerStyle: {
backgroundColor: '#f4511e',
},
};
constructor(props){
super(props);
this.state = {
noteArray: [],
noteText: ''
}
}
render() {
let notes = this.state.noteArray.map((val,key) => {
return <Note key={key} keyval={key} val={val}
goToDetailPage= {() => this.goToNoteDetail(key)} />
});
const { navigation } = this.props;
return(
<View style={styles.container}>
<View style={styles.footer}>
<TextInput
onChangeText={(noteText) => this.setState({noteText})}
style={styles.textInput}
placeholder='What is your next Task?'
placeholderTextColor='white'
underlineColorAndroid = 'transparent'
>
</TextInput>
</View>
<TouchableOpacity onPress={this.addNote.bind(this)} style={styles.addButton}>
<Text style={styles.addButtonText}> + </Text>
</TouchableOpacity>
</View>
);
}
//This method is declared in my Note.js
goToNoteDetail=(key)=>{
this.props.navigation.navigate('detailsScreen')
}
}
//我没有在此处发布的代码简短的样式但是当我尝试进行导航时,我收到此错误:'undefined is not and object(evalating 'this.props.val.date') Do I need to以某种方式传递道具?还是我应该做其他事情?我是 React Native 的新手并且很困惑!
解决方案
只需删除createAppContainer
const AppContainer = mainNavigator;
告诉我react-navigation
你和什么一起工作
推荐阅读
- python - 如何从月份+日期中找到季节?Python
- reactjs - 在 React Js 中修改产品变体的选择
- mysql - 如何从一台服务器复制sql文件另一台服务器mysql数据库
- java - 静态实用程序类、单元测试和 Java.Time
- javascript - 如何通过谷歌脚本中的映射函数更改二维数组中的一列?
- python - 试图在不受支持的 python 版本上使用海象运算符
- python - 发生响亮的噪音时提取音频文件的时间戳,python
- python - python中的CRC实现
- python-3.x - Python3 CSV Writer 生成二进制文件
- sql - HasManyThrough Pivot 中的最后记录