Estoy tratando de agregar un reductor a mi aplicación nativa de reacción. Aquí está la constante de la tienda:
export const USER_PROFILE = 'USER_PROFILE';Aquí está la acción.js
import {USER_PROFILE} from '../constants/index'; export function userProfile(userReducer) { return { type: USER_PROFILE, payload: { email: '', }, }; }Este es el userReducer que está causando el error. Sigo recibiendo un error de customerReducer no es una función.
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; Y he declarado el correo electrónico como estado... const [email, setEmail] useState('')
llamando al reductor aquí. const customerReducer = useSelector(state => state.userProfile); Ahora enviándolo con el método useDispatch.
const dispatch = useDispatch(); ... dispatch(customerReducer(email));Tu action.js debería verse así:
import {USER_PROFILE} from '../constants/index'; export function userProfile(userReducer) { return { type: USER_PROFILE, payload: { email: userReducer.email, }, };y cuando envíe, debe usar la acción "perfil de usuario" y no el reductor "reductor de cliente". Su envío debería verse así:
dispatch(userProfile({email}));asegúrese de usar corchetes. porque debes pasar un objeto, no una cadena.