reactnative

React-navigationで2重遷移を防ぐ (with Redux)

はじめに

Reduxで管理するまでは↓の方法で2重遷移を防いでいましたが、reduxを入れた時にエラーになってしまったのでその時の対応
https://qiita.com/kuniiskywalker/items/dc26acc97e6009c92a3f
https://qiita.com/ozaki25/items/ec9ec9459b12453339cc

結論

return null ではなく return stateで期待した動作になった。

動作としてはnavigationが連打されいているが、stateが同じなので1画面しか進まない、、よう
若干不安なのでつっこみお待ちしています
image.png

全文

const original = AppNavigator.router.getStateForAction
AppNavigator.router.getStateForAction = (action, state) => {
  if (state && action.routeName === state.routes[state.index].routeName) {
    return state
  }

  return original(action, state)
}
APPENDIX:

https://github.com/react-community/react-navigation/issues/271