Здравствуйте.
Есть некое приложение, в котором пользователь создает заказ. заполняет кучу различных полей, но кнопки Заказать нет. Место этого, как только форма будет полностью заполнена, на сервер должен быть отправлен ajax запрос автоматом, и показана цена.
Я использую redux, поэтому при заполеннии формы проблем нет, для автокомплита я вызываю ajax запросы в actions, а по результату стреляю в редуктор ответ сервера. Редуктор проводит манипуляции с информацией и state и компонент отрисовывает представление.
О том, что форма полностью и верно заполнена, знает только редуктор. У него есть данные, он может проверить все поля. Он может сказать компоненту, показать кнопку - Заказать, в этом случае.
Но ведь редуктор не может вызывать отправку AJAX запроса в моем варианте?!
Ну ум приходит только некое поле, в которое редуктор запишет true, и уже компонент запустит какой-то action на onComponentDidUpdate, нормальна ли такая схема?
Получится какой-то круг, где компонент отрисуется лишний раз без надобности на то.
Для redux нормальная схема. Чтобы избежать лишних отрисовок, нужно использовать shouldComponentUpdate, а запрос отправлять из componentWillReceiveProps. Можно приметно так: