为什么不能重置变量的状态? 或回到初始状态

问题描述

我的应用程序中有一些状态,当我单击按钮时,我试图重置其值。

首次呈现页面时,将执行handleAllProjects

const [tagPage,setTagPage] = useState({});

const handleAllProjects = () => {
setTagPage({}) // didn't work

    const allProjects = `https://api.fluxoresultados.com.br/portfolio/pag?limit=${cardLimit}`;
    axios.get(allProjects)
    .then(res => {
      let cards = res.data
      setCards(cards)
      setTagPage({1: "",2: cards[cards.length - 1]["id"]})
      setCurrentPage(1)
      console.log(currentPage) //line 61
      console.log(tagPage) //line 62
    })
    .catch(err => {
      console.log(err)
    })
  }

我还具有以下按钮单击事件处理程序:

const handleSelectButton = (id,tag) => {
  if (id === pressedIndex) {
  setPressedIndex('')
  setTimeout(handleAllProjects,500);

} else {
  setPressedIndex(id)
  setTimeout(() => handleTag(tag),500);
}

} }

此功能的目的是它将在第一次单击时过滤项目,但是在再次单击时,它将使用handleAllProjects函数呈现所有内容。 我的页面在卡片上渲染了6个项目。 setTagPage采用最后一个项目的“ id”,因为DynamoDB要求使用它进行分页。在此页面上,有项目过滤器。当我应用过滤器时,setTagPage需要另一个“ id”。当我删除过滤器时(我回到页面首次呈现的状态)。 SetTagPage不会重置该值,而是带来页面的“ id”,就像仍然存在过滤器一样。

但是,TagPage变量包含一个标签,而不是重置为其初始状态。 Here's an example of what I'm talking about - I need the console.log statement on line 62 to be the same as before.如何将该值重置回其初始状态?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...