Javascript 我在哪里犯了更改搜索筛选器的错误?如何修复它?

Javascript 我在哪里犯了更改搜索筛选器的错误?如何修复它?,javascript,reactjs,redux,Javascript,Reactjs,Redux,我有一个离开或到达机场的飞机列表,我还有一个搜索过滤器,在那里我输入到达或离开的时间,并过滤飞机。我使用API的actual属性来实现这一点。但我需要改变我的搜索。现在我需要按航班号搜索API的planeTypeID.code属性。但当我改变它时,就不再显示飞机列表了。我的错误是什么?如何纠正? 我只是在所有地方写了[“planeTypeID.code”]并删除了方法: .split(“-”).reverse().join(“-”) 旧版本: 小部件飞机.js(减速器) 小部件app.js(主要

我有一个离开或到达机场的飞机列表,我还有一个搜索过滤器,在那里我输入到达或离开的时间,并过滤飞机。我使用API的
actual
属性来实现这一点。但我需要改变我的搜索。现在我需要按航班号搜索API的
planeTypeID.code
属性。但当我改变它时,就不再显示飞机列表了。我的错误是什么?如何纠正?

我只是在所有地方写了
[“planeTypeID.code”]
并删除了方法:
.split(“-”).reverse().join(“-”)

旧版本:
小部件飞机.js(减速器)

小部件app.js(主要组件)

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

新版本:

小部件飞机.js(减速器)

小部件app.js(主要组件)

沙盒中的所有项目代码:

x[“planeTypeID.code”]的一个示例值是“B734”,属于
state.day
“23-08-2019”=>这是两个不同的字段=>当您按
x[“planeTypeID.code”]进行筛选时,您将得到一个空数组。包括(state.day)
\_(ツ)_/“”

通过注释进行调试后,最可能的解决方案是:

x["planeTypeID.code"].toLowerCase().includes(action.search || state.search)

我建议将此作为回答以下问题的一般第一步:

我在哪里犯的错误


…在过帐到堆栈溢出之前。

请修改代码,只保留未过帐的部分important@iLiA完成了。С你能帮我吗?你的代码似乎不正确。我看到的第一件事是你在用括号返回reducer中的数据。用return返回对象(新状态),所以你应该使用
{}
取而代之。另外,您正在拆分
state.day
,因此您正在变异state,这不是好的做法,因此它不会重新渲染组件,将
day
映射为其道具。我的建议是仔细阅读redux的文档,并在以后实现它,甚至可能是如何修复此问题?我需要按
planeTypeID.code
什么进行过滤I don’既然你已经知道了这个问题,你就没有试着去解决它吗?解决这个问题需要了解预期的行为。我不知道预期的是什么,所以我无法为你解决这个特定的问题。StackOverflow在这里将有技术问题的人与可能知道答案的志愿者进行匹配;但是你可以d从你工作场所更高级的团队成员的指导中获益更多。假设
planeTypeID.code
部分正确,那么
state.day
是不正确的,你必须用与来自州的航班号相关的内容来替换它,例如
action.flightNumber | state.flightNumber
,但我看不到任何内容你把用户提供的航班号信息存储在哪里?
export function searchFilter(search, data) {
  return data.filter(n => n.actual.toLowerCase().includes(search)); 
}

    case "RUN_FILTER":

      var newData = state.data[action.shift || state.shift].filter(x => {
        return (
          x["planeTypeID.code"] &&                   // Сhange 
          x["planeTypeID.code"].includes(            // Сhange 
            state.day
                                                      // delete                                
          )
        );
      });
      return Object.assign({}, state, {

    case "LOAD_DATA_END":
      var newData = action.payload.data[state.shift].filter(x => {
        return (
          x["planeTypeID.code"] &&                   // Сhange        
          x["planeTypeID.code"].includes(            // Сhange   
            action.payload.day
                                                     // delete                                    
          )
        );
      });


export function searchFilter(search, data) {
  return data.filter(n => n["planeTypeID.code"].toLowerCase().includes(search)); // Сhange   
}


x["planeTypeID.code"].toLowerCase().includes(action.search || state.search)