首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将单击的所有内容保存到状态初始值为数组

将单击的所有内容保存到状态初始值为数组
EN

Stack Overflow用户
提问于 2022-11-09 11:41:34
回答 1查看 28关注 0票数 0

我使用usestate来创建saveImages和setSaveImages,这个首字母作为数组,我想每次调用函数时,内容是不同的,所以每次都必须推送到那个信息的数组,而不是做推送,只替换数组的一个位置,不添加不同的信息。我不知道我是否能解释一下

代码语言:javascript
复制
const galery = useSelector((state) => state.search);
  const dispatch = useDispatch();
  const [saveImages, setSaveImages] = useState([]);

function savePhoto(e) {
    e.preventDefault();
    const { target } = e;
    const content = target.photo.src;
    setSaveImages(content)
    console.log(content)
    localStorage.setItem("img", saveImages);
    dispatch(actionAddFavorite(content));
  }

return(
<section className="w-full gap-0 sm:columns-2 md:columns-3 xl:columns-4 2xl:columns-5 3xl:columns-6">
        {galery.map((item, index) => {
          return (
        

<form onSubmit={savePhoto} key={index} className="relative">
          <button className="bg-gray absolute left-5 top-3 shadow-md">
            Guardar
          </button>
          <img
            name="photo"
            className="object-cover p-2"
            src={item.urls.regular}
            alt={item.alt_description}
          />
        </form>
      );
    })}
  </section>
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-09 12:14:06

您可以将saveImages设置为包含"content",但您希望将"content“添加到现有的saveImages数组中。下面是您可以这样做的方法:

代码语言:javascript
复制
setSaveImages(oldImages => {
  return [...oldImages, content];
});

这里你可以了解所有你需要了解的关于反应状态的信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74374307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档