React-网易云音乐PC端(四)

推荐页面下的轮播图和热门推荐组件

  • immutable应用在项目中
    1.安装immutable库;
    2.在reducer文件中通过Map方法将defaultState对象转换为im对象,注意设置数据,获取数据的方法随之改变;
    3.优化:全局合并的reducer也包裹成一个im对象,需要用到redux-immutabel库,导出combineReducers函数

  • 轮播图
    1.使用antd中的走马灯;
    2.将轮播图抽出来作为一个组件;
    3.useRef的使用:创建一个Ref,获取DOM节点时需要current属性;
    4.在style-components中可以写标签属性:a.attrs({})
    5.轮播图后面的那张高斯模糊的背景图片:加上参数拼接;
    6.组件中用到的回调函数用useCallback做一个包裹:形成记忆,减少组件不必要的刷新

  • 热门推荐
    1.头部header可以抽成一个公共的组件;
    2.子组件向父组件传递信息:父元素传给子元素一个函数,(props中获取),在子组件中调用这个函数,并传递参数;
    3.对props传递的参数进行限制:
    a.导入对应的库:import PropTypes from 'prop-types';这个库脚手架中已存在,不需额外安装
    b.设置函数组件的props:组件名.propTypes={};默认参数的设置:组件名.defaultProps={};
    c.设置类组件的props:Static propTypes={};默认参数的设置:Static defaultProps={};
    4.useHistoty这个hook,用于创建history对象,history有一个push方法,记录浏览器页面

5.recommend热门推荐部分数据请求,并放入redux(同轮播图获取方式一致)
6.数据在热门推荐组件中的展示
7.优化:a.听歌数字的格式化;b.设置图片尺寸,从服务器获取小尺寸的图片资源

posted @ 2021-03-03 22:16  xiong~~  阅读(75)  评论(0)    收藏  举报