Javascript 反应本机导航(未定义不是对象..this.props.navigation.navigate
通过使用redux的方式,我在react本机导航上遇到了一个问题 Listserviceaction.js 包含正在此处导入的webservicecall组件 从“../components/ListComponent”导入ListComponent Listactiontype.js 包含动作类型 export const SERVICE_PENDING='SERVICE_PENDING'等 listcomponent.js 组件,在列表上呈现数据等 还原剂 然后是减速器部分 scenes/List.js 存储绑定将在应用程序的初始点内完成,并传递给其他应用程序组件,如下所示Javascript 反应本机导航(未定义不是对象..this.props.navigation.navigate,javascript,react-native,redux,navigation,react-navigation,Javascript,React Native,Redux,Navigation,React Navigation,通过使用redux的方式,我在react本机导航上遇到了一个问题 Listserviceaction.js 包含正在此处导入的webservicecall组件 从“../components/ListComponent”导入ListComponent Listactiontype.js 包含动作类型 export const SERVICE_PENDING='SERVICE_PENDING'等 listcomponent.js 组件,在列表上呈现数据等 还原剂 然后是减速器部分 scenes/L
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>
);
}
import React,{Component}来自'React';
从'react redux'导入{Provider};
从“../reducers/index”导入存储;
从“../actions/listserviceaction”导入ServiceAction;
从“本机库”导入{容器、内容、选择器、按钮、文本};
导出默认类RenderList扩展组件{
render(){
返回(
);
}
}
现在,在加载组件之后,当我在我的屏幕上单击press={()=>this.props.navigation.navigate(“ProfileScreen”)}时
listcomponent它触发了一个错误(未定义的不是对象..this.props.navigation.navigate)有问题吗?有更好的解决方案吗?
谢谢。要从一个屏幕导航到另一个屏幕,两个屏幕都应该在
StackNavigator
中。请显示您的StackNavigator和您尝试在其中导航的屏幕的代码。要从一个屏幕导航到另一个屏幕,两个屏幕都应该在StackNavigator
中。您可以显示您的代码吗单击要在其中导航的屏幕的导航器和代码。要使用react导航,必须执行以下步骤:
1:npm i react导航--保存
2:npm链接反应导航
3:修改堆栈的顶级类,如下所示:
import page_1 from 'YOUR_PAGE1_PATH'
import page_2 from 'YOUR_PAGE2_PATH'
import { createStackNavigator } from 'react-navigation'
export default createStackNavigator({
p1 : page_1 //remember the first modified shown first
p2 : page_2
})
然后在第1页中,如果要导航到第2页:
onPress(()=> this.props.navigation.navigate('p2' , 'maybe other params'))
注意:您必须调用p1、p2而不是page_1或page_2!要使用react导航,您必须执行以下步骤: 1:
npm i react导航--保存
2:npm链接反应导航
3:修改堆栈的顶级类,如下所示:
import page_1 from 'YOUR_PAGE1_PATH'
import page_2 from 'YOUR_PAGE2_PATH'
import { createStackNavigator } from 'react-navigation'
export default createStackNavigator({
p1 : page_1 //remember the first modified shown first
p2 : page_2
})
然后在第1页中,如果要导航到第2页:
onPress(()=> this.props.navigation.navigate('p2' , 'maybe other params'))
注意:您必须调用p1、p2而不是page_1或page_2!在您的服务操作中包括
this.props.navigation
类似以下内容:
<ServiceAction navigation={this.props.navigation}/>
对我来说,以前也很困惑。干杯!在您的服务操作中包括
这个.props.navigation
类似的内容:
<ServiceAction navigation={this.props.navigation}/>
对我来说,以前也很困惑。干杯!我们如何在我上面展示的架构上集成堆栈导航器?RenderList是否包含在堆栈导航器中?是的,它需要添加到堆栈导航器中。请参见此处:我们如何在我上面展示的架构上集成堆栈导航器?RenderList是否包含在堆栈导航器中gator?是的,它需要添加到stack navigator中,请看这里:在JS中,每件事都从index.JS开始,然后通常调用App.JS,所以是的,你可以在App.JS中正确地执行此操作实际上我没有使用redux,但我确定如果你想使用导航,请导航()您首先在stack navigator中修改了屏幕,如图所示:在JS中,每件事都从index.JS开始,然后通常调用App.JS,所以是的,您可以在App.JS中正确执行此操作实际上我没有使用redux,但我确定如果您想使用导航,navigate()您首先在stack navigator中修改了屏幕,如图所示: