我有 2 个房间{roomId: room1, roomId: room2}
,我想在 localStorage 上为每个房间保存对象。
对象看起来像
let notifiedRoom = {
roomId: roomId,
dismissed: true
};
当用户关闭相应房间的通知时, notifyRoom 对象将保存在 localStorage 上。
import React from 'react';
import { toast } from 'react-toastify';
const RoomNotification = (props) => {
const { roomId, message } = props;
const setLocalStorage = (roomId) => {
let notifiedRoom = {
roomId: roomId,
dismissed: true
};
localStorage.setItem('notifiedRoom', JSON.stringify(notifiedRoom));
};
const notify = () => {
toast(<div><p>{roomId}</p><p>{message}</p></div>,
{
toastId: roomId,
position: "top-center",
draggable: true,
onClose:() => setLocalStorage(roomId)
});
};
}
我遇到的问题是这一次只会为一个房间保存一个对象。因此,如果您关闭 room1 通知,则在 localStorage 上有roomId: room01, dismissed: true
,如果我关闭 room2 通知,则 room1 的先前 localStorage 对象将被 room2 覆盖。
如果 roomId 匹配,我只需要它覆盖。否则只需为 locatStorage 上的每个不同 roomId 创建新对象。
非常感谢