过滤状态数据效果不佳 - React (CRA)
Filtering the state data doesn't work fine - React (CRA)
我创建了一个简单的待办事项应用程序。我可以将项目添加到待办事项,并通过 all
、completed
和 incomplete
过滤列表。所有列表分别呈现。问题是当我是 completed
或 incomplete
过滤器中的任何一个时,我分别选中或取消选中任务,列表应该在每个 check/uncheck 上再次过滤。我可以调用 filter
方法,但是状态有一些意外的行为,它会删除列表元素,除了我 check/uncheck 当任何过滤器处于活动状态时。
我已经创建了这个沙盒,玩玩吧。
我认为你的问题是,当你检查一个项目时,在 modifyList
中你将 copiedList
设置为 list
的先前状态,这是整个项目的过滤子集数据。
将 setList
更改为 setCopiedList
似乎已经解决了我的问题。
const modifyList = (list) => {
setCopiedList((prevState) => {
let state = [...prevState];
return state;
});
};
我创建了一个简单的待办事项应用程序。我可以将项目添加到待办事项,并通过 all
、completed
和 incomplete
过滤列表。所有列表分别呈现。问题是当我是 completed
或 incomplete
过滤器中的任何一个时,我分别选中或取消选中任务,列表应该在每个 check/uncheck 上再次过滤。我可以调用 filter
方法,但是状态有一些意外的行为,它会删除列表元素,除了我 check/uncheck 当任何过滤器处于活动状态时。
我已经创建了这个沙盒,玩玩吧。
我认为你的问题是,当你检查一个项目时,在 modifyList
中你将 copiedList
设置为 list
的先前状态,这是整个项目的过滤子集数据。
将 setList
更改为 setCopiedList
似乎已经解决了我的问题。
const modifyList = (list) => {
setCopiedList((prevState) => {
let state = [...prevState];
return state;
});
};