首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应本机:反应导航StackNavigator不工作。获取错误:“未定义不是对象(计算'this.props.navigation.navigate')”

反应本机:反应导航StackNavigator不工作。获取错误:“未定义不是对象(计算'this.props.navigation.navigate')”
EN

Stack Overflow用户
提问于 2017-05-17 15:34:10
回答 1查看 3.1K关注 0票数 1

我正在尝试使用来浏览我的应用程序。

我有一个带有onPress={() => navigate('DetailsScreen')的按钮,我希望它能带我去DetailsScreen,但是我得到了以下错误:

E ReactNativeJS:未定义不是对象(计算'this.props.navigation.navigate')

我需要补充些什么才能让它发挥作用?

请参阅我的代码:https://gist.github.com/chapeljuice/bef4b0a4dedef2994c81f3634b81aa43

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-17 15:47:16

您的组件没有导航功能(它不是屏幕)。因此,这里有两个常见的解决方案:

使用父级

从父组件(如果是屏幕)传递导航支柱。

代码语言:javascript
复制
<Card navigation={navigation} />

这是最简单的解决办法。

使用高阶组件withNavigation

如果父组件没有导航功能,或者它太复杂,无法传递支持,则可以使用特殊的withNavigation

代码语言:javascript
复制
export default withNavigation(connect(mapStateToProps)(Card))

然后,您将拥有可用的navigation道具。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44029208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档