this.props.navigation.dispatch 与 this.props.navigation.navigate 之间的差异?

Differences between this.props.navigation.dispatch vs this.props.navigation.navigate?

我在反应导航问题部分看到很多人使用 this.props.navigation.dispatch 以编程方式导航。在 this.props.navigation.navigate 上使用它是否有任何特定原因或用例?

好像可以给dispatch函数传递更多选项?还有别的事吗?您可以在不明确将 react-navigation 绑定到您的应用程序 redux 商店的情况下使用 dispatch 吗?现在我有一个有 redux 的应用程序,但我没有明确配置我的 redux 设置来了解 react-navigation(如果可以的话,我更愿意保持这种状态)。

来自 React Navigation 文档导航道具章节 (https://reactnavigation.org/docs/navigators/navigation-prop#dispatch-Send-an-action-to-the-router):

...The other navigation functions use dispatch behind the scenes...

NavigationActions.navigatethis.props.navigation.navigate 的参数也是相同的。您使用哪一个应该没有区别。在我看来,this.props.navigation.navigate 更短且更易读。

来自 github :

This is the codenavigate 函数重用 navigation.dispatch.. 记住:

Code Don't Lie

那么,navigation.navigate(...args)就是navigation.dispatch(NavigationActions.navigate(...args))

的别名