我有以下课程:
class Comp extends React.Component{
onBack {
navigator.pop();
}
}
我希望能够在以下函数中访问该类,该函数位于我的应用程序的主要范围内,但无法使其工作:
BackAndroid.addEventListener('hardwareBackPress', function() {
Comp.onBack();
return true;
});
我在这里错过了什么吗?
答案 0 :(得分:2)
您需要引用Navigator
实例,可以使用ref
道具或官方MoviesApp
示例中的以下模式来完成:
var _navigator;
BackAndroid.addEventListener('hardwareBackPress', () => {
if (_navigator && _navigator.getCurrentRoutes().length > 1) {
_navigator.pop();
return true;
}
return false;
});
var RouteMapper = function(route, navigationOperations, onComponentRef) {
_navigator = navigationOperations;
...
};
var MoviesApp = React.createClass({
render: function() {
var initialRoute = {name: 'search'};
return (
<Navigator
style={styles.container}
initialRoute={initialRoute}
configureScene={() => Navigator.SceneConfigs.FadeAndroid}
renderScene={RouteMapper}
/>
);
}
});