2016-12-16 2 views
0

У меня есть реактивный проект, и я использую действия и редукторы для работы с моим магазином.
У меня есть интеллектуальный подключенный компонент, и я вызываю свои действия посредством отправки в componentWillMount(), а затем у меня есть mapStateToProps, и я сопоставляю данные, которые я получаю из своего магазина, в реквизиты.
Проблема - единственный способ проверить, были ли реквизиты изменены, путем помещения его внутрь функции render. В моем случае я хочу перейти на другую страницу, если я получаю реквизиты, заполненные некоторыми данными. Все работает отлично, но я получаю предупреждение от React, что его анти-шаблон. Есть ли другой способ сделать это? Правильно ли я это делаю?React Native & Redux реквизит правильный шаблон дизайна

ответ

1

Вы должны реализовать метод componentWillReceiveProps вместо сравнения значений в render

Другой (предпочтительный) подход был бы действием ответственности обновить значения, сделать навигацию (или направить еще действия, которые будут делать навигацию материал). Проверка redux-thunk

+0

Хорошо спасибо. Я уже использую thunk. Да, я тоже собирался сделать навигацию в Редуксе. Вероятно, это лучший подход – abeikverdi

+0

Если вы используете [реактивный маршрутизатор] (https://github.com/ReactTraining/react-router), я предлагаю вам использовать [response-router-redux] (https://github.com/reactjs/react-router-redux), чтобы сохранить синхронизацию хранилища с навигацией. Тогда легко просто отправить (push ('newRoute')) или отправить (goBack()) в любой поток –

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