Можно ли разделить обещание между родственными компонентами через магазин избыточных данных? - PullRequest
0 голосов
/ 29 июня 2018

У меня есть два компонента: DeleteCards и ConfirmModal. Компонент DeleteCards показывает карточки, которые можно удалить.

Когда пользователь нажимает deleteCard, действие обновляет состояние следующим образом:

{ showModal : true, title : 'Delete card', body : 'Are you sure?'}

Итак, теперь это заставляет мое модальное окно показывать запрос пользователя на подтверждение. Проблема в том, что мне нужно, чтобы моя функция deleteCard теперь ждала и слушала щелчок подтверждения внутри модального окна.

Технически я могу сделать это:

{ showModal : true, title : 'Delete card', body : 'Are you sure?', promise: promiseRef }

Но я знаю, что это анти-паттерн. Итак, какие у меня есть варианты? Или какой будет избыточный способ сделать это?

1 Ответ

0 голосов
/ 30 июня 2018

Технически это не проблема, связанная с Redux, вы можете просто передать функцию в качестве поддержки: <ConfirmModal onConfirm={this.onModalConfirm}/>

Или, если вы на 100% определились с Redux, просто сделайте флаг вроде modalConfirmed, добавьте его к mapStateToProps, в вашем componentDidUpdate, проверьте эту опору и затем управляйте функцией вам нужно.

...