В настоящее время в моем приложении у меня есть несколько Маршрутов, использующих React Router, которые обернуты в провайдере Redux.
Провайдер
<Provider store={store}>
<Router>
<Route exact path ="/" component = {LoginPage}></Route>
<Route exact path="/login" component ={LoginPage}/>
<Route path ="/change" component={MasterPage}/>
<Route path="/change/form" component={ChangeForm}/>
<Route path="/change/table" component={ExpandTable} />
</Router>
</Provider>
В нынешнем виде я запутался, как я долженчтобы передать / получить доступ к состоянию хранилища в компонентах.
Единственное состояние, которое мне действительно нужно хранить, - это текущее состояние логина пользователя, и я хочу использовать его для изменения того, что отображается надругие маршруты.
Редуктор
У меня есть редуктор, который выглядит следующим образом:
export default (state = {}, action) => {
switch (action.type) {
case 'SIMPLE_ACTION':
return {
loggedIn: action.loggedIn,
User: action.User,
Group: action.Group
}
default:
return state
}
}
Действие
И действие, котороевыглядит как
export const simpleAction = () => dispatch => {
dispatch({
type: 'SIMPLE_ACTION',
payload: data
})
}
Сейчас я работаю в предположении, что подключение их к хранилищу с помощью export default connect(mapStateToProps, mapDispatchToProps)(LoginForm);
позволит мне получить доступ к хранилищу внутри этого компонента, но, похоже, это не так,
Меня немного смущает вопрос о том, как получить доступ к состоянию хранилища внутри компонента, а также как правильно написать действие / редуктор для изменения этого состояния.