У меня возникли проблемы с пониманием некоторых принципов ReactJS и Redux,
В Redux у нас есть магазин и набор редукторов, которые дают ваше окончательное состояние (эта часть я получаю).
Компонент получает реквизиты от своего родительского компонента, в случае Redux он передает полное состояние с помощью компонента Provider.
Теперь давайте предположим, что это прецедент, у меня есть приложение для приложения примерно так:
auth : { name,id, ..etc} -> this is actually a JWT Token with a set of claims...
Я создаю Container (Страница), чтобы иметь возможность редактировать профили пользователей, улавливать здесь и где у меня возникают проблемы. Я также хочу, чтобы эта страница обрабатывала произвольное редактирование пользователя (в случае, если администратор редактирует учетную запись).
Я делаю рендеринг своей страницы с помощью редукционного маршрутизатора следующим образом:
<Route path="/user" component={RequiresAuth(UsersPage) } >
<IndexRoute component={RequiresAuth(UsersOverview) }/>
<Route path="/user/overview" component={UsersOverview} />
<Route path="/user/account" component={AccountManagement} >
<IndexRoute component={RequiresAuth(AccountManagement) }/>
<Route path="/user/account/:userid" component={AccountManagement} />
</Route>
Поэтому, читая документы, я предполагаю, что у моих реквизитов будет идентификатор пользователя, который будет переопределять моего пользователя по умолчанию, если он присутствует.
Вопросы: Правильно ли этот подход? Ручная обработка?
Если я передаю параметр userid на маршруте, как мне перейти на загрузку информации о пользователе и где? Как я вижу это, мне нужно отправить действие, но я не уверен, где установить состояние, если в хранилище или компонент.
Кроме того, где загрузить пользовательскую информацию? (конструктор приходит на ум)... или это должно быть в WillMount/WillReceiveProps?
Спасибо.
Если вам действительно трудно понять принципы React/Redux, я предлагаю вам попробовать этот учебник:
https://github.com/happypoulp/redux-tutorial
Это очень помогло мне, когда я впервые начал работу с React/Redux. Кстати, немного сложно ответить на ваш вопрос, потому что вы задаете конкретные вопросы по действительно конкретному делу :)