Reducer 不是函数。反应原生 Redux
Reducer is not a function. React Native Redux
我正在尝试向我的 React 本机应用程序添加一个 reducer。
这是存储常量:
export const USER_PROFILE = 'USER_PROFILE';
这里是action.js
import {USER_PROFILE} from '../constants/index';
export function userProfile(userReducer) {
return {
type: USER_PROFILE,
payload: {
email: '',
},
};
}
这是导致错误的 userReducer。我一直收到 customerReducer is not a function 的错误。
import {USER_PROFILE} from '../constants/index';
const initialState = {
userProfile: '',
};
const customerReducer = (state = initialState, action) => {
switch (action.type) {
case USER_PROFILE:
return {
...state,
userProfile: action.payload,
};
default:
return state;
}
};
export default customerReducer;
并且我已将电子邮件声明为状态...const [email, setEmail] useState('')
在这里调用reducer。 const customerReducer = useSelector(state => state.userProfile);
现在使用 useDispatch 方法调度它。
const dispatch = useDispatch();
...
dispatch(customerReducer(email));
您的 action.js 应该看起来像这样:
import {USER_PROFILE} from '../constants/index';
export function userProfile(userReducer) {
return {
type: USER_PROFILE,
payload: {
email: userReducer.email,
},
};
并且当您发送时,您应该使用操作“userProfile”而不是缩减器“customerReducer”。您的调度应该看起来像这样:
dispatch(userProfile({email}));
确保使用大括号。因为你应该传递一个对象而不是一个字符串。
我正在尝试向我的 React 本机应用程序添加一个 reducer。 这是存储常量:
export const USER_PROFILE = 'USER_PROFILE';
这里是action.js
import {USER_PROFILE} from '../constants/index';
export function userProfile(userReducer) {
return {
type: USER_PROFILE,
payload: {
email: '',
},
};
}
这是导致错误的 userReducer。我一直收到 customerReducer is not a function 的错误。
import {USER_PROFILE} from '../constants/index';
const initialState = {
userProfile: '',
};
const customerReducer = (state = initialState, action) => {
switch (action.type) {
case USER_PROFILE:
return {
...state,
userProfile: action.payload,
};
default:
return state;
}
};
export default customerReducer;
并且我已将电子邮件声明为状态...const [email, setEmail] useState('')
在这里调用reducer。 const customerReducer = useSelector(state => state.userProfile);
现在使用 useDispatch 方法调度它。
const dispatch = useDispatch();
...
dispatch(customerReducer(email));
您的 action.js 应该看起来像这样:
import {USER_PROFILE} from '../constants/index';
export function userProfile(userReducer) {
return {
type: USER_PROFILE,
payload: {
email: userReducer.email,
},
};
并且当您发送时,您应该使用操作“userProfile”而不是缩减器“customerReducer”。您的调度应该看起来像这样:
dispatch(userProfile({email}));
确保使用大括号。因为你应该传递一个对象而不是一个字符串。