如何将navigator.pop传递给自定义反应本机组件

时间:2016-11-03 19:19:36

标签: navigation react-native components

我想将导航菜单解压缩为自定义组件,因此我不必继续重写代码。这是我简单的dashboard.js

import React, { Component } from 'react';
import {
   StyleSheet,
   View,
   Text,
   Navigator,
  TouchableHighlight,
  TouchableOpacity,
} from 'react-native';

let HeaderMenu = require('../../partials/headerMenu');

class Dashboard extends Component {
  render() {
    return (
      <HeaderMenu/>
   );
  }
}
module.exports = Dashboard;

这是我的headerMenu.js

import React, { Component } from 'react';
import {
  StyleSheet,
  Text,
  View,
  TouchableOpacity,
  Navigator
} from 'react-native';

class HeaderMenu extends Component {
  render() {
    return (
        <View>
        <Text>Header Menu</Text>
         <TouchableOpacity onPress={()=>{this.props.navigator.pop()}}>
         <Text>BACK</Text>
         </TouchableOpacity>
     </View>
    );
  }
}

module.exports = HeaderMenu;

我的问题是如何通过:

   this.props.navigator.pop()

从我的dashboard.js文件到我的headerMenu.js文件,以便后退按钮工作?

1 个答案:

答案 0 :(得分:0)

您可以将导航器对象从dashboard.js传递到headerMenu.js:

<HeaderMenu navigator={your_navigator_object}/>

然后在headerMenu.js中调用this.props.navigator.pop()应该可以。