Вероятно, условия гонки

Привет, ребята, я пытаюсь решить одну ошибку. После нажатия на кнопку время ввода иногда пустое. Когда я использую delay(), все в порядке. Но без этого у меня есть пустой ввод, когда я создаю нового посетителя.

export const visitListStartFetchAfterChange: Epic = (action$, store) =>
  action$
    .ofType(
      'VR.FILTER_BAR.PICK_DATES',
      'VR.FILTER_BAR.PICK_LOCATION',
      'VR.FILTER_BAR.PICK_STATUS_TAB',
      'VR.VISIT.DELETE.SUCCESS',
      'VR.FILTER_BAR.PICK_VISITOR',
      'VR.FILTER_BAR.CLEAR_VISITOR',
    )

    // .delay(2000)
    .filter(() => isFilterBarInitialized(pathToVrFilterBar(store.getState())))
    .mapTo(visitListFetch());

1 ответ

Потому что действия отправляются асинхронно. Чтобы при выполнении этого кода хранилище еще не обновлялось. Есть несколько способов справиться с этим. Используйте redux thunk, чтобы дождаться выполнения действия или отреагировать на изменение данных в вашем дочернем компоненте.

Другие вопросы по тегам