【发布时间】:2017-12-31 09:41:48
【问题描述】:
我有一个登录页面组件,当我单击登录按钮时,我有一个名为 isUserAuthenticated 的布尔状态,该按钮检查用户列表,无论用户是否存在。用户列表在 signupreducer 中,我如何访问 loginreducer 中的用户列表并从中返回 isUserAuthenticated 标志。
登录页面组件
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”。我的问题是如何访问特定减速器中的其他减速器状态。谢谢
标签: reactjs redux react-redux