Javascript 反应本机错误:undefined不是对象(计算';"this2.props.navigator.push';)
所以基本上,我在标题中得到了与导航器相关的错误。 当我按下图标时,错误弹出 我主要想做的是在顶部创建一个选项卡栏,在三个不同的视图之间切换:提要、wiki和留言板 这是我的index.android.js:(导入导航)Javascript 反应本机错误:undefined不是对象(计算';"this2.props.navigator.push';),javascript,android,reactjs,react-native,Javascript,Android,Reactjs,React Native,所以基本上,我在标题中得到了与导航器相关的错误。 当我按下图标时,错误弹出 我主要想做的是在顶部创建一个选项卡栏,在三个不同的视图之间切换:提要、wiki和留言板 这是我的index.android.js:(导入导航) \u渲染场景(路线、导航器){ var globalNavigatorProps={navigator}; 道岔(路线识别){ 案例“FeedView”: 返回( ); 案例“WikiView”: 返回( {'Hello'}; ); 案例“BoardView”: 返回( {'He
\u渲染场景(路线、导航器){
var globalNavigatorProps={navigator};
道岔(路线识别){
案例“FeedView”:
返回(
);
案例“WikiView”:
返回(
{'Hello'};
);
案例“BoardView”:
返回(
{'Hello'};
);
违约:
log(`Something erre${route}`);
}
}
render(){
返回(
);
}
这是我的Nav.js:
constructor(props){
super(props);
}
render(){
console.log(this.props.navigator);
return(
<View style={{flexDirection: "column"}}>
<View style={styles.nav}>
<Icon onPress={(event) => this.props.navigator.push({ident: "Feed"})} name="newspaper-o" size={22}/>
<Icon name="wikipedia-w" size={22}/>
<Icon name="comments" size={22}/>
</View>
<View style={styles.divider}/>
</View>
);
}
_changeView(type){
}
构造函数(道具){
超级(道具);
}
render(){
console.log(this.props.navigator);
返回(
this.props.navigator.push({ident:“Feed”})name=“paper-o”size={22}/>
);
}
_更改视图(类型){
}
我认为这不是问题所在,但是renderScene函数不会绑定到react组件
尝试将
renderScene={this.\u renderScene}
转换为renderScene={this.\u renderScene.bind(this)}
未绑定(this)时总是会发生此错误,检查图标模块onPress方法如果您试图实现选项卡式视图,有更好的方法可以实现,您可以始终使用像这样的开源模块
开发人员以一种易于使用的方式制作了它,并且该示例足够好,可以完成大部分部分
因此,我建议使用社区制作的模块,而不是自己创建这样的组件
希望我的回答能有所帮助。我确实尝试过使用该模块,但我不想滚动切换选项卡,也不知道如何更改。嗯,你可以在本机android中完成,然后编写一个桥接器,这很简单,让我看看我是否能找到其他东西问题是没有导航器的参考。您需要将renderScene函数放入其中,并将navigator作为属性传递,这样才能工作。
constructor(props){
super(props);
}
render(){
console.log(this.props.navigator);
return(
<View style={{flexDirection: "column"}}>
<View style={styles.nav}>
<Icon onPress={(event) => this.props.navigator.push({ident: "Feed"})} name="newspaper-o" size={22}/>
<Icon name="wikipedia-w" size={22}/>
<Icon name="comments" size={22}/>
</View>
<View style={styles.divider}/>
</View>
);
}
_changeView(type){
}