首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >next/preview分页不正常

next/preview分页不正常
EN

Stack Overflow用户
提问于 2021-08-19 20:08:01
回答 1查看 25关注 0票数 0

我需要关于分页逻辑的帮助。它可以工作,但它并不像它应该的那样工作。频繁按下时,页面可能不会加载(消失,因为数字会变大或变小)

逻辑分页:

代码语言:javascript
复制
   const [number, setNumber] = useState(1)

   const previewPage = ():void =>{
      if(number < 1){
         setNumber(1)
      }else{
         setNumber(number - 1)
         setCurrentPage(number)
         console.log(number)
      }
   }

   const nextPage = ():void => {
      if(number > totalPage.length){
         setNumber(totalPage.length)
      }else{
         setNumber(number + 1)
         setCurrentPage(number)
         console.log(number)
      }
   }

   const paginate = (numberPage:number):void => {
      setNumber(numberPage)
      setCurrentPage(numberPage)
   }

当你点击下一步时,你会跳转到最后一页,但是当你点击后退时,页面会跳转到5,然后突然跳到3。我不知道如何正确地组织逻辑

来自分页的按钮:

代码语言:javascript
复制
 <button onClick={() => previewPage()}> назад </button>
 {totalPage.map((number:number):JSX.Element => {
    return <button onClick={() => paginate(number)} key={number}>{number}</button>
 })}
 <button onClick={() => nextPage()}> вперёд </button>
EN

回答 1

Stack Overflow用户

发布于 2021-08-19 20:35:12

你应该使用

代码语言:javascript
复制
setNumber(previous => previous - 1)

在所有情况下,您都希望确定状态的前一个值。

就像这个答案中的解释https://stackoverflow.com/a/55496277/15601007

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

https://stackoverflow.com/questions/68853996

复制
相关文章

相似问题

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