我正在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));
行上崩溃
答案 0 :(得分:0)
来自
无法设置未定义的属性“员工”
我可以看到你做类似的事情
var a
a.employees='hello'
但是,您永远不会在显示的摘录中引用对象的employee属性
因此,错误很可能来自onChangeEmployee