Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在减速器中执行多次返回?_Reactjs_Redux - Fatal编程技术网

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
之后,在触发操作的同一位置执行逻辑,然后触发第二次返回的另一个操作。