Javascript 未定义不是React Native中的对象(计算';this.props.navigator.push';)
在这里,我需要向HomeContainer传递一个单变量。但当我单击“转到关于”按钮时,我出现了上述错误。我是一个新的本地反应者。因此,我不确定我是否按照正确的方法将数据传递到另一个视图。希望有人能帮助我。提前感谢Javascript 未定义不是React Native中的对象(计算';this.props.navigator.push';),javascript,reactjs,mobile,react-native,Javascript,Reactjs,Mobile,React Native,在这里,我需要向HomeContainer传递一个单变量。但当我单击“转到关于”按钮时,我出现了上述错误。我是一个新的本地反应者。因此,我不确定我是否按照正确的方法将数据传递到另一个视图。希望有人能帮助我。提前感谢 import React,{Component}来自“React” 进口{ 评估学, 领航员, 看法 }从“反应本机” 从“./src/components/Router”导入路由器 类导航扩展了组件{ render(){ 返回( { 返回React.createElement(ro
import React,{Component}来自“React”
进口{
评估学,
领航员,
看法
}从“反应本机”
从“./src/components/Router”导入路由器
类导航扩展了组件{
render(){
返回(
{
返回React.createElement(route.component,{…this.props,..route.passProps,navigator,route});
}} />
);
}
}
AppRegistry.registerComponent('navigation',()=>navigation)
从“React”导入React,{Component}
进口{
评估学,
样式表,
文本,
看法
领航员,
触控高光,
文本输入框
}从“反应本机”
从“./about/AboutContainer”导入AboutContainer
从“./home/HomeContainer”导入HomeContainer
导出默认类路由器扩展组件{
构造函数(){
超级()
}
getInitialState(){
返回{}
}
_goToHome(){
这个是.props.navigator.push({
组件:HomeContainer,
通行证:{
用户名:this.state.username,
}
})
}
updateUsername(用户名){
this.setState({username})
}
render(){
返回(
这个。_goToHome()}
style={styles.button}>
着手
this.updateUsername(用户名)}
占位符=“您的用户名”
style={styles.input}
/>
)
}
}
您能告诉我您使用的是哪种导航器吗?RNRF?反应导航?导航实验。。。这至少会有一点帮助。并添加实现路由器的代码。这告诉我们是否正确设置了props
。可能您没有正确设置root上的导航器。请检查导航器是否可用亲爱的,我更新了我的完整代码。这将帮助您找到我的错误。如果可能,请发布更新的解决方案。这很有效!!
import React, { Component } from 'react'
import {
AppRegistry,
Navigator,
View
} from 'react-native'
import Router from './src/components/Router'
class navigation extends Component {
render() {
return (
<Navigator
initialRoute={{name: 'Router', component: Router, index: 0}}
renderScene={(route, navigator) => {
return React.createElement(route.component, { ...this.props, ...route.passProps, navigator, route } );
}} />
);
}
}
AppRegistry.registerComponent('navigation', () => navigation)
import React, { Component } from 'react'
import {
AppRegistry,
StyleSheet,
Text,
View,
Navigator,
TouchableHighlight,
TextInput
} from 'react-native'
import AboutContainer from './about/AboutContainer'
import HomeContainer from './home/HomeContainer'
export default class Router extends Component {
constructor(){
super()
}
getInitialState() {
return {}
}
_goToHome() {
this.props.navigator.push({
component: HomeContainer,
passProps: {
username: this.state.username,
}
})
}
updateUsername(username) {
this.setState({ username })
}
render() {
return (
<View style={styles.container}>
<TouchableHighlight
onPress={ () => this._goToHome() }
style={ styles.button }>
<Text>
GO TO ABOUT
</Text>
</TouchableHighlight>
<TextInput
onChangeText={ (username) => this.updateUsername(username) }
placeholder="Your Username"
style={ styles.input }
/>
</View>
)
}
}