jiang

Results 3 comments of jiang

> @jsbsdbd1025 对于Android我不是太懂,我说下iOS上的解决思路吧,Android应该也差不多。 > 场景是:原生部分页面A,跳转到RN部分页面B,现在想B回退到A。 > 方案:在页面B上,render中,渲染NaviBar组件,组件设置`onLeft`属性: > > ``` > onLeft={() => {NativeModules.xxx.pop(); return false;}} > ``` > 通过`onLeft`,调用原生部分的`xxx`模块的导出方法`pop`,来实现两个原生页面直接的回退功能。 > 具体代码,可以参照`src/navibar.js`中的逻辑,在`componentDidMount`绑定了`BackHandler`的监听,调用了`_clickBack`方法,`_clickBack`会调用`_clickButton`,里面有一行`const doDefaultAction = this.props[clickKey] && this.props[clickKey](index);`,是在调用你自定义的`onLeft`回调,这时`onLeft`返回`false`,则不调用默认回退处理。正常点击视图上的回退按钮,也会进入`_clickButton`。 react-navigation 应该是判断了路由队列的大小,如果当前页面是第一页的话 Android中应该是调的BackHandler.exitApp()方法...