我在Reaction中有以下代码,
let [employee, setEmployee] = useState([])
let employeeList = [
{
"data": [
{
"name": "John",
"email": "john@example.com",
"status": "passed"
},
{
"name": "Jane",
"email": "jane@example.com",
"status": "failed"
}
]
}
]
在初始化时,我们给出如下内容:
setEmployee(employeeList)
它在两行中正确地显示了表中状态为"通过"和"未通过"的员工.
在顶部有一个 Select 框,当 Select 该框时, 我们使用以下函数对其进行过滤,
setEmployee(employee => employee[0].data.filter((ele, i) => ele.status === 'passed'));
我看到以下经过筛选的员工状态变量,
// employee (state variable, see the original array of object of arrays is distorted here)
[
{
"name": "John",
"email": "john@example.com",
"status": "passed"
}
]
而不是,
[
{
"data": [
{
"name": "John",
"email": "john@example.com",
"status": "passed"
}
]
}
]
我是新的react 状态,无法实现上述格式.原始的Employee状态变量在 struct 上应该是完整的,但只应该过滤它的深层array.我想我在排队的时候犯了一些错误,
setEmployee(employee => employee[0].data.filter((ele, i) => ele.status === 'passed'));
如有任何帮助,我们不胜感激.请不要建议像useMemo这样的高级概念,但让我们稍微修改一下,以实现我想要的.谢谢.