我想通过任何操作(即从任何模块分派但基本上是导航)重置存储在用户减速器上的错误消息。
我希望从react-navigation
中获取操作类型,以便可以在用户缩减器中听到它们,但是我找不到方法,而明确地编写它们会导致质量低劣的代码。
我使它在接下来的显示中起作用(注意默认情况)。
但是有一个问题:redux-persist
停止给用户减压剂补水。
export default function reducer(state = initialState, action) {
const { type, payload } = action
switch (type) {
case LOGIN_PENDING: {
return _.merge(state, { loading: true })
}
case LOGIN_FULFILLED: {
return _.merge(state, { ...payload, loading: false })
}
case LOGIN_REJECTED: {
return _.merge(state, { ...initialState, error: payload.message })
}
case SIGNUP_PENDING: {
return _.merge(state, { loading: true })
}
case SIGNUP_FULFILLED: {
return _.merge(state, { ...payload, loading: false })
}
case SIGNUP_REJECTED: {
return _.merge(state, { ...initialState, error: payload.message })
}
default: {
return { ...state, error: '' }
}
}
}
谢谢。
答案 0 :(得分:2)
也许您可以尝试类似的
import { REHYDRATE } from 'redux-persist/lib/constants'
// in your reducer
case REHYDRATE: {
return state
}
default: {
return _.merge(state, { error: '' })
}