首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改显示数据?

如何更改显示数据?
EN

Stack Overflow用户
提问于 2021-07-30 08:17:55
回答 1查看 27关注 0票数 0

我从json文件中获取数据,因为里面有太多的数据,所以我不想全部展示。在页面中,我只想显示20个数据,当我单击NEXT按钮时,我想看到另外20个数据。它正在工作,但在过滤器函数中,它更新了filteredDatas,但没有更新showingDatas

代码语言:javascript
复制
import data from './data.json'
var i = 0
var j = 20

function App() {
const [showingDatas, setShowingDatas] = useState([])
const [filteredDatas, setFilteredDatas] = useState([])

const getDatas = () =>{
 setFilteredDatas(data)
 setShowingDatas(data.slice(0,20))
}

useEffect(()=>{
getDatas()
},[])

const next = () => { 
 i += 20;
 j += 20;
 setShowingDatas(filteredDatas.slice(i,j)) 
}

const filter = () => {
 setFilteredDatas(data.filter(item => item.productCompany ===  "Mavi"))
 i = 0
 j = 20
 setShowingDatas(filteredDatas.slice(0,20))
}
EN

回答 1

Stack Overflow用户

发布于 2021-07-30 08:31:26

你不能这样做,因为React的工作原理。但是如果你想这样做,我建议你使用useEffect来保存filteredData更改,然后在useEffect中设置它。像这样:

代码语言:javascript
复制
useEffect(() => {
   setShowingDatas(filteredDatas)
},  [filteredDatas]);

如果你真的想使用useState,我建议你搜索useState with callback

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

https://stackoverflow.com/questions/68587656

复制
相关文章

相似问题

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