React Native中navigation.goBack()与CommonActions.goBack()调用的区别
两种返回写法的区别
二者不存在功能上的差异,仅封装层级不同:
navigation.goBack()是React Navigation提供的便捷语法糖API,内部实现本质就是调用navigation.dispatch(CommonActions.goBack()),专门用于简化常用的返回操作,代码写法更简洁。navigation.dispatch(CommonActions.goBack())是更底层的原生导航动作分发写法:dispatch是导航器的核心动作调度方法,所有导航行为(跳转、返回、替换路由等)最终都要通过dispatch分发对应动作执行,灵活性更高,支持自定义扩展导航逻辑。
适用场景建议
- 日常普通返回上一页的需求,直接使用
navigation.goBack()即可,可读性更强,维护成本更低。 - 仅当你需要做通用导航封装、给返回动作附加自定义参数、或者执行非标准的自定义导航逻辑时,再选择使用
dispatch的底层写法。
补充说明:两种写法的路由栈弹出规则、执行性能完全一致,不存在任何功能层面的差异,可根据实际开发场景灵活选择。
内容的提问来源于stack exchange,提问作者Nemesis
相关产品推荐
相关产品推荐

