简体   繁体   English

将复选框值推送到 session 存储

[英]Push checkbox values into session storage

am trying to push the same array values of setRooms React hook to sessionStorage but I only get TypeError: prev is not iterable for the sessionStorage我试图将 setRooms React 钩子的相同数组值推送到 sessionStorage 但我只得到 TypeError: prev is not iterable for the sessionStorage

  {bedRooms.map((a, i) => (
    <FormControlLabel
      key={i}
      control={
        <Checkbox
          onChange={(event) => {
            const checkedValues = (prev) =>
              event.target.checked ? [...prev, a.roomsLabel] : [];

            sessionStorage.setItem("rooms", checkedValues());

            setRooms(checkedValues);
          }}
        />
      }
      label={a.roomsLabel}
      value={a.roomsLabel}
      checked={
        sessionStorage.getItem("rooms") &&
        sessionStorage.getItem("rooms") === a.roomsLabel &&
        true
      }
    />
  ))}

Pushing objects or arrays in session/local storage is not possible无法在会话/本地存储中推送对象或 arrays

Try this:试试这个:

When saving to the session storage:保存到session存储时:

sessionStorage.setItem("rooms", JSON.stringify(checkedValues()));

When retrieving data from session storage:从 session 存储中检索数据时:

JSON.parse(sessionStorage.getItem("rooms"))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM