【发布时间】:2021-02-01 09:32:42
【问题描述】:
我正在尝试将过滤后的数组值设置为useState的默认值,示例代码如下:
var { studentList } = useContext(StudentListContext);
var selectedWarningStudents = flattenScoreList(studentList).filter((item) => {
return selected.includes(item._id);
});
debugger
var [mailList, setMailList] = useState(selectedWarningStudents);
console.log('mailList', mailList);
这是设置调试器后打印的内容,如您所见,数组“studentList”有 91 个项目,数组“selectedWarningStudents”有 3 个项目与数组“selected”中的 3 个项目匹配。所以这里没有什么出乎意料的
在获得数组“selectedWarningStudents”后,我想在下面设置的 useState 中将其值设置为默认值
但是当我登录控制台时,它返回一个仅包含数组“selectedWarningStudents”中的第一项的数组,这里:
感谢您花时间帮助我,祝您有美好的一天
【问题讨论】:
-
您确定学生列表中的 3 个默认学生 items.id 相同吗?
-
是的,100% 确定
标签: javascript arrays reactjs react-hooks frontend