2016-03-03 3 views
0


Разработки Реагировать приложения/Alt, я сталкиваюсь довольно распространенный сценарий:
В корневом компоненте, в обработчике нажатия кнопки, мне нужно проверить, если значение в конкретном магазине действителен до запуска действия. Это значение пока недоступно в состоянии магазина, так как оно должно быть рассчитано.
Поэтому я должен вызвать действие, связанное с методом хранилища, который будет вычислять значение. Результат будет сохранен в состоянии хранилища и будет доступен в обработчике прослушивания корневого компонента.
К сожалению, в этом случае я теряю исходный контекст действия пользователя.
Я хотел бы синхронно вычислить значение и получить его в том же контексте. Есть ли способ сделать это? Каковы наилучшие практики в таком сценарии?
Спасибо.Реагировать Alt Вызов методы хранения синхронно

+0

Итак, я полагаю, что фактическое значение этого состояния не зависит от самой кнопки? Как и в случае, кнопка не меняет значение, например, текстовый ввод. Что я делаю, так это сохранение состояния кнопки до тех пор, пока значение не будет правильно, или я уверен, что когда кнопка нажата, состояние уже рассчитано. Это можно сделать просто, используя пример ввода текста, нажав изменения этого ввода в хранилище и вычислив его. Таким образом, вы всегда имеете правильное состояние. Не могли бы вы объяснить, почему значение не доступно в состоянии магазина? –

+0

Более точным примером является хранилище форм, которое обрабатывает все значения формы. – untemps

+0

Хорошо, и как действие на Button будет обрабатываться в устаревшем магазине? –

ответ

0

Вы можете разделить логику проверки на отдельный модуль. В обработчике onClick вы можете выполнить эту логику проверки, используя store.getState() или опоры вашего компонента. После этого логика проверки будет отделена от вашего компонента, что упростит проверку и повторное использование, а также не будет загромождать ваш компонент, что должно быть больше связано с поведением интерфейса.

+0

Я собираюсь проверить это, спасибо. – untemps

Смежные вопросы