У меня есть приложение React, которое использует Redux.
Приложение отображает результаты некоторых вычислений в верхней части, а некоторые составляющие, которые входят в эти вычисления, - внизу. Пользователь может щелкнуть кнопку, которая открывает модальное окно, в котором пользователь может добавить один из этих компонентов. Это вызовет действие, во время которого он отправит этот новый компонент в бэкэнд, что приведет к тому, что эти вычисления будут иметь разные результаты.
Как и следовало ожидать, я хочу обновить эти результаты с сервера на основе новых данных. Расчеты довольно сложны, поэтому дублирование расчетов в пользовательском интерфейсе невозможно.
Существует метод loadConstituents()
, который вызывается componentWillMount()
, когда пользователь попадает на страницу. Мне в основном нужно вызвать этот метод снова, как только сервер подтвердит пользователю, что данные были получены (с помощью действия SAVE_SUCCESS
).
Как перехватить действие в моем компоненте?
В качестве альтернативы, есть ли лучший шаблон для достижения этого?
Лучшее, что я могу придумать, это передать функцию loadConstituents()
в модальное состояние, которое передаст ее вызову, который выполнит его после завершения вызова, но, пройдя функцию через столько классов, сколько кажется параметром очень хакерский.