Reactjs (Redux)未捕获的TypeError:对象(…)不是函数
我想采取行动,所以我把急件发错了。但我正因为这个错误而挣扎 我写的代码是为了放入许多变量,这是错误的方法吗Reactjs (Redux)未捕获的TypeError:对象(…)不是函数,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我想采取行动,所以我把急件发错了。但我正因为这个错误而挣扎 我写的代码是为了放入许多变量,这是错误的方法吗 //reducer export const signUpEmail = email => ({ type: SIGNUP_EMAIL, email, }); export const signUpInput = ({name, nickname, id, password}) => ({ type: SIGNUP_INPUT, data: {
//reducer
export const signUpEmail = email => ({
type: SIGNUP_EMAIL,
email,
});
export const signUpInput = ({name, nickname, id, password}) => ({
type: SIGNUP_INPUT,
data: {
name: name,
nickname: nickname,
id: id,
password: password,
},
});
export const signUpImg = img => ({
type: SIGNUP_IMG,
img,
});
const signUpState = {
email: '',
data: {
name: '',
nickname: '',
id: '',
password: '',
},
img: '',
};
export const signUpReducer = (state = signUpState, action) => {
switch (action.type) {
case SIGNUP_EMAIL:
return ({ ...state, email: action.email });
case SIGNUP_INPUT:
return ({
...state,
data: {
name: action.name,
nickname: action.nickname,
id: action.id,
password: action.password
},
});
case SIGNUP_IMG:
return ({
...state,
img: action.img,
});
default: return state;
}
};
这是减速机
//selector
const {userEmail, name, nickname, id, password, userImg } = useSelector(state => ({
userEmail: state.email,
userName: state.name,
userNickname: state.nickname,
userId: state.id,
userPassword: state.password,
userImg: state.img
}));
这是存储的状态连接
//dispatch
const userData = ({userName, userNickname, userId, userPassword}) => {
dispatch(signUpInput({userName, userNickname, userId, userPassword}));
}
问题出在哪里?确保正确访问对象子对象:
状态。昵称
应为状态。数据。昵称
,操作。昵称
应为操作。数据。昵称
,等等
另外,请尝试重构减速器,并根据当前状态的形状将其拆分为不同的部分。例如,
state.data
、state.email
和state.img
可能希望有自己的缩减器,您可以使用combinereducer
将它们合并为一个缩减器。现在有点乱。谢谢,但还是有个错误。此错误不是您回答的地方。action creater似乎有问题。