Я хотел бы сбросить свое сообщение об ошибке, которое я сохраняю на моем пользовательском редукторе, при любом действии, то есть при отправке из любого модуля, но в основном при навигации.
Я искал типы действий от 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: '' }
}
}
}
Заранее спасибо.