productList组件代码

productList组件代码

https://img1.sycdn.imooc.com//climg/624657c109c3614e10830667.jpg

https://img1.sycdn.imooc.com//climg/624657ba0920474609960753.jpg

https://img1.sycdn.imooc.com//climg/624657bd09ded55c08790865.jpg

老师,productList函数式组件这一块的代码我的理解感觉很混乱,我自己尝试理解了好几遍,但还是不是很明白。烦请老师指点一下(尤其是onPageChange 分页处理那一块的代码,看不太懂),麻烦老师了!非常感谢!

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2022-04-01 10:40:41

同学你好, productList组件中,主要是利用antd插件提供的List组件将数据展示到页面, 参考antd官方文档,传入对应的参数即可,示例:

List组件中添加pagination属性,对应分页的配置项,https://ant.design/components/list-cn/  如下:

https://img1.sycdn.imooc.com//climg/624662140940035314630718.jpg

pagination的详细配置介绍中可知,onChange是antd提供好的方法,传入的参数是改变后的页面和每页条数,如下:

https://img1.sycdn.imooc.com//climg/6246625f09a5cc0309540617.jpg

https://img1.sycdn.imooc.com//climg/62466409092a2d0f18200716.jpg

Searchpage.tsx中定义的onPageChange方法,也就是传入productList组件中方法,页数改变时调用该方法,内部通过dispatch触发searchProduct,根据传入的参数(改变后的页数,页面条数,以及关键字)获取到新的数据

祝学习愉快~

  • 提问者 qq_宝慕林8034856 #1

    谢谢老师,明白了!之前一直不知道 && 是什么意思,现在老师一解释,就理解了。谢谢老师!!

    2022-04-01 10:43:21
  • 提问者 qq_宝慕林8034856 #2

    onChange: (page) => onPageChange && onPageChange(page, paging.pageSize)

    老师,那这一行代码中 && 前的onPageChange 可以省略,直接写成onChange: (page=> onPageChange(pagepaging.pageSize) 么?这个组件中不是已经传入了 onPageChange函数么,只要检测页面变化,调用onPageChange来dispatch action, 为什么还要先判断onPageChange是否存在呢?


    2022-04-01 10:50:46
  • 同学你好,可以省略,但是为了代码的严谨性,推荐加上,防止其他人调用该组件时,忘记或者不知道要传该方法,代码报错。

    祝学习愉快~

    2022-04-01 10:52:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师