TypeError:无法设置未定义的属性“员工”

时间:2019-07-17 13:43:53

标签: javascript reactjs react-redux

我正在Web应用程序中设置一个搜索栏,并且大部分工作都已完成(即,它已成功找到了我要查找的对象),但是在搜索栏代码的末尾进行了分派。这是使用Javascript,React和Redux构建的。我是完全陌生的人,我的团队React成员缺勤一周,因此任何帮助将是巨大的帮助。

searchInList = (e) => {
    const { dispatch, employees } = this.props;
    const valueSearched = e.target.value;
    let currentList = [];
    let newList = [];

    if (valueSearched !== ' ') {
      currentList = employees;
      currentList.map(employeeObject => {
        Object.values(employeeObject).filter(item => {
          let itemString;
          if (typeof (item) != 'string') {
            itemString = JSON.stringify(item);
          } else {
            itemString = item;
          }
          let lc = itemString.toLowerCase();
          const filter = valueSearched.toLowerCase();

          if (lc.includes(filter)) {
            if (!newList.includes(employeeObject)) {
              newList.push(employeeObject);
            }
          }
        });
      });
    } else {
      newList = employees;
    }
    console.log(newList);
    dispatch(onChangeEmployee('employees', newList));
  };

这应该只是缩小显示对象的数量(在搜索条件内),但是它会崩溃并引发以下错误:“ TypeError:无法设置未定义的属性'employees'。”

它在dispatch(onChangeEmployee('employees', newList));行上崩溃

1 个答案:

答案 0 :(得分:0)

来自

  

无法设置未定义的属性“员工”

我可以看到你做类似的事情

var a
a.employees='hello'

但是,您永远不会在显示的摘录中引用对象的employee属性

因此,错误很可能来自onChangeEmployee