我有登录页面组件,其中我有一个布尔状态称为isUserAuthenticated,当我点击登录按钮,检查userslist是否用户是否存在。用户列表在signupreducer中,我如何访问loginreducer中的用户列表并从中返回isUserAuthenticated标志。如何访问其他reducer减速器的状态减少
LoginPage组件
export const mapStateToProps = (state) => {
return {
isUserAuthenticated: state.reducer.isAuthenticated.isUserAuthenticated,
users: state.SignupReducer.users
}
}
export const mapDispatchToProps = (dispatch) => {
return {
checkLogin: (credentials) => dispatch({ type: 'CHECK_LOGIN', credentials })
}
};
LoginPage = connect(mapStateToProps, mapDispatchToProps)(LoginPage);
export default LoginPage;
登录减速
const initialStateAuth = {
isUserAuthenticated: false
};
export const isAuthenticated = (state = initialStateAuth, action) => {
switch (action.type) {
case 'CHECK_LOGIN':
return Object.assign({}, state, { isUserAuthenticated: checkLogin(state, action) })
default:
return state;
}
}
这里其实我想检查用户在 singupReducer.users我怎么可以在这里访问....
const checkLogin = (state, action) => {
let isExist = false;
signupReducer.users.map((each) => {
if (each.userName === action.credentials.username && each.password === action.credentials.password) {
isExist = true;
}
});
return state.isUserAuthenticated = false;
}
看来你有拼写问题。有时你使用'singupReducer'或'SignupReducer'。 –
@DamienGold有史以来什么,但我只用在一个地方,这不是我刚才提到的“signupReducer”。我的问题是我怎样才能访问其他reducer状态在特定的reducer。谢谢 – kumar