Reactjs 如何在减速器中执行多次返回?
我正在尝试创建搜索字符串和筛选器。当这个机制被激活时,输入的数据应该被返回,然后逻辑应该被执行,但是我不知道如何在一个案例中执行其中的两个操作Reactjs 如何在减速器中执行多次返回?,reactjs,redux,Reactjs,Redux,我正在尝试创建搜索字符串和筛选器。当这个机制被激活时,输入的数据应该被返回,然后逻辑应该被执行,但是我不知道如何在一个案例中执行其中的两个操作 const objReducer = (state = objData, action) => { switch (action.type) { case "ChangeObjects": switch (action.name) {
const objReducer = (state = objData, action) => {
switch (action.type) {
case "ChangeObjects":
switch (action.name) {
case "find":
return {...state,FindStrokeText:action.text}
let copyState={...state,CurrentObjects: state.Objects.filter(f=>f.street.toLowerCase().includes(action.text.toLowerCase())).filter(f=>f.type.toLowerCase().includes(action.types)).filter(f=>Number(f.rooms)===Number(action.rooms))}
return copyState
case "choose":
return {...state,typeObj:action.text}
let copyState={...state,CurrentObjects: state.Objects.filter(f=>f.street.toLowerCase().includes(action.text.toLowerCase())).filter(f=>f.type.toLowerCase().includes(action.types)).filter(f=>Number(f.rooms)===Number(action.rooms))}
return copyState
case "NumberAp":
return {...state,numAp:action.text}
let copyState={...state,CurrentObjects: state.Objects.filter(f=>f.street.toLowerCase().includes(action.text.toLowerCase())).filter(f=>f.type.toLowerCase().includes(action.types)).filter(f=>Number(f.rooms)===Number(action.rooms))}
return copyState
default:
return state
}
}
}
export const ChangeObjects=(text,name)=>({
type:"ChangeObjects",
text,
name
})
您可以触发多个操作,但不能触发多个返回。您触发,
find
之后,在触发操作的同一位置执行逻辑,然后触发第二次返回的另一个操作。您可以触发多个操作,但不能触发多个返回。您触发,find
之后,在触发操作的同一位置执行逻辑,然后触发第二次返回的另一个操作。