反应导航未定义错误
Posted
技术标签:
【中文标题】反应导航未定义错误【英文标题】:React-navigation undefined Error 【发布时间】:2017-09-01 16:17:10 【问题描述】:我有一个有趣的问题:所以我导入了这个
<TouchableOpacity onPress=() => this.props.navigation.navigate('Feed') style=styles.buttonContainer>
<Text style=styles.buttonText>
LOGIN
</Text>
</TouchableOpacity>
我创建的表单中的按钮, 我将它导入到我想像这样加载表单的屏幕:
<KeyboardAvoidingView behavior='padding' style=styles.container>
<View style=styles.logo>
<Text style=fontSize: 64, color: '#34B3E4'>Partner<Text style=fontSize: 64, color: '#0077B5'>Up</Text></Text>
<Text style=fontSize: 13, opacity: 0.8, color: '#0077B5'>We connect you. You work easier.</Text>
</View>
<LoginForm/> <-------------------Here is the import
<View style=styles.accountLogin>
<TouchableOpacity onPress=() => this.props.navigation.navigate('Forgot')>
<Text style=opacity: 0.9,color:'#34B3E4' >Forgot your password? </Text>
</TouchableOpacity>
</View>
</KeyboardAvoidingView>
但我的 onpress 转换屏幕功能不想中继并引发未定义的错误 即使在我的路由器中也无法导入某些内容并在任何地方呈现 onpress 功能:
Feed:
screen: Feed,
navigationOptions:
title: 'Mentor',
header:
right: //Going to be the users profile picture
<Icon
onPress=() => this.props.navigation.navigate('Profile')
name="user"
color='#0077B5'
size=30
/>,
left: //Messages
<Icon
name="message"
color='#0077B5'
size=30
/>,
titleStyle: color: '#0077B5' ,
,
我到底要做什么
Here be the logcat error msg
【问题讨论】:
是否有未定义错误的 logcat?如果是,请包含它。 【参考方案1】:您需要将属性传递给您的子组件
改变
<LoginForm/>
到
<LoginForm navigation=this.props.navigation/>
要让它在导航器中工作,请使用参考
<Navigator
ref='navigator'
...
/>
然后
<Icon
navigator=this.refs.navigator
/>
【讨论】:
谢谢你,这帮助我解决了我的错误!当我在路由器中使用该 onpress 功能时会怎样?如何将属性传递给该特定图标?引发类似错误。以上是关于反应导航未定义错误的主要内容,如果未能解决你的问题,请参考以下文章
未定义的“this.props.navigation.state.props.p”导航反应原生
反应和流星“未捕获的类型错误:无法读取未定义的属性'createElement'”