如何推送到映射值数组并将其用作 React 中的状态?
How to push to a map value array and use it as state in React?
我在 React 中有以下状态:
const [tasksMap, setTasksMap] = useState(new Map());
创建以下地图:
tasks.forEach((task) => {
const key = `${week.year}-${week.weekNo}`;
if (!tasksMap.has(key)) {
tasksMap.set(key, []);
}
tasksMap.get(key).push(task);
});
如何将地图 tasksMap
设置为 React 状态?
setTasksMap(tasksMap.set(key, []));
有效但有一个空数组作为值,当我 运行 tasksMap.get(key).push(task);
.
时它不会更新
请试试这个。这里我用separate variable
来存储数据,最后把那个变量设置到state
。
let mapObj = new Map();
tasks.forEach((task) => {
const key = `${week.year}-${week.weekNo}`;
if (!mapObj.has(key)) {
mapObj.set(key, []);
}
mapObj.get(key).push(task);
});
setTasksMap(mapObj);
我在 React 中有以下状态:
const [tasksMap, setTasksMap] = useState(new Map());
创建以下地图:
tasks.forEach((task) => {
const key = `${week.year}-${week.weekNo}`;
if (!tasksMap.has(key)) {
tasksMap.set(key, []);
}
tasksMap.get(key).push(task);
});
如何将地图 tasksMap
设置为 React 状态?
setTasksMap(tasksMap.set(key, []));
有效但有一个空数组作为值,当我 运行 tasksMap.get(key).push(task);
.
请试试这个。这里我用separate variable
来存储数据,最后把那个变量设置到state
。
let mapObj = new Map();
tasks.forEach((task) => {
const key = `${week.year}-${week.weekNo}`;
if (!mapObj.has(key)) {
mapObj.set(key, []);
}
mapObj.get(key).push(task);
});
setTasksMap(mapObj);