javascript - 反应本机导航(未定义不是对象.. this.props.navigation.navigate
问题描述
我在使用 redux 的方式对本机导航做出反应时遇到了麻烦。
Listserviceaction.js
包含 webservicecall 组件在此处导入 import ListComponent from '../components/ListComponent';
Listactiontype.js
包含动作 ActionTypes export const SERVICE_PENDING = 'service_pending' 等。
列表组件.js
组件,在列表中呈现数据等
减速机
然后是减速机部分
场景/List.js
存储绑定将在应用程序的初始点内完成,并传递给其他应用程序组件,如下所示。
import React, { Component } from 'react';
import { Provider } from 'react-redux';
import store from '../reducers/index';
import ServiceAction from '../actions/listserviceaction';
import { Container, Content, Picker, Button, Text } from "native-base";
export default class RenderList extends Component {
render() {
return (
<Provider store={store}>
<ServiceAction />
</Provider>
);
}
}
现在在加载组件之后,当我在我的列表组件上单击 onPress={() => this.props.navigation.navigate("ProfileScreen")} 时,它会触发一个错误(未定义不是对象.. this.props。 navigation.navigate) 有什么问题吗?有更好的解决方案吗?谢谢你。
解决方案
在您的 ServiceAction 中包含this.props.navigation
如下内容:
<ServiceAction navigation={this.props.navigation}/>
因为props.navigation
默认情况下在您的父组件上
在 ServiceAction 组件上,您将访问导航,例如:
..
goToSignUp() {
this.props.navigation.navigate('SignUp');
}
..
对我来说之前也很困惑。干杯!
推荐阅读
- ionic-framework - Ionic Linking to ionic pro error in "cordova plugin add cordova-plugin-ionic"
- regex - Symfony - 一条消息用于多个断言
- graphql - 如何在多种类型上使用 GraphQL 片段
- sql - Oracle SQL 中的自联接 - 基于 1 个相同列和 1 个不同列选择行
- excel - VB6检查Excel工作簿是否打开
- bash - bash sqlite3 变量不会插入数据库
- javascript - 使用 jquery 计算表中切换的行数
- docusignapi - ConfigureJwtAuthorizationFlowByKey 返回 null
- android - Gradle 挂在 :app:transformDexWithInstantRunSlicesApkForDebug
- docker - 大厅任务是否会覆盖 docker 图像入口点?