吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14183|回复: 124
上一主题 下一主题
收起左侧

[其他转载] React全家桶开发「网易云音乐PC项目」实战(前端项目+源码)

    [复制链接]
跳转到指定楼层
楼主
今晚不熬夜_ 发表于 2020-11-11 12:51 回帖奖励
本帖最后由 今晚不熬夜_ 于 2020-11-11 12:56 编辑

网易云音乐PC项目实战

项目简介

1.项目介绍

  • 项目使用到的技术栈
    • CSS使用Flex进行布局
    • 配置路径别名使用: carco
    • 项目路由使用: react-router来管理   
    • 使用react-router-config集中式路径映射表管理
    • 使用styled-components+普通的css编写样式
    • 使用axios发送网络请求
    • 项目全面拥抱React Hooks
    • 项目组件库使用: ant design
    • 使用immutable对项目reducerstate进行管理
    • 使用redux-immtable对根目录reducerstate进行管理
    • 项目使用redux-thunk中间件
    • 使用propType校验props类型及默认值
    • 使用react-transition-group添加过渡动画效果
    • 项目中的优化: 函数式组件全部采用memo、路由懒加载、函数防抖
  • 项目的目标
    • 使用React全家桶开发网易云音乐PC网站

2.适合人群及收获

  • 适合人群:
    • 适合想了解一个项目的大致流程
    • 或者是学习了React 全家桶但是缺乏React项目经验
    • (如果有的知识点不了解,可以参考以前React系列文章
    • (最好了解一点Node
  • 收获:
    • 如何设计音乐播放器组件,歌词解析等
    • 项目目录的结构划分,大型项目的state管理
    • 项目的大致流程,如何进行性能优化等等
  • 注意:
    • 学习本篇文章时,页面逻辑js不再贴出 (只有大致的实现思路)
    • 毕竟思考和多动手才是实践😎

3.页面效果和功能展示

推荐/新碟上架/榜单

路由切换

歌曲评论

排行榜

播放器

歌曲切换(随机、顺序、单曲循环)

歌曲搜索

  • 新增:键盘事件↓  &  函数防抖
    • ctrl+k 搜索框获取焦点 & 唤醒搜索下拉框
    • esc 取消焦点 & 下拉框
    • enter 进入歌曲搜索详情

歌曲搜索详情列表
  • 在搜索框中按下回车即可,搜索列表基本功能实现

4.项目Github源码及API接口

5.项目规范

  • 项目规范:项目中有一些开发规范和代码风格 (也可以按照自己的习惯)

    1. 文件夹、文件名称统一小写、多个单词以连接符(-)连接;

    2. JavaScript变量名称采用小驼峰标识,常量全部使用大写字母,组件采用大驼峰;

    3. CSS采用普通CSSstyled-component结合来编写

      • 全局采用普通CSS、局部采用styled-component
    4. 整个项目不再使用class组件,统一使用函数式组件,并且全面拥抱Hooks

    5. 所有的函数式组件,为了避免不必要的渲染,全部使用memo进行包裹;

    6. 组件内部的状态,使用useStateuseReducer;业务数据全部放在redux中管理;

    7. 函数组件内部基本按照如下顺序编写代码:

      • 组件内部state管理;
      • reduxhooks代码;
      • 其他组件hooks代码;
      • 其他逻辑代码;
      • 返回JSX代码;
    8. redux代码规范如下:

      • 每个模块有自己独立的reducer,通过combineReducer进行合并;
      • 异步请求代码使用redux-thunk,并且写在actionCreators中;
      • redux直接采用redux hooks方式编写,不再使用connect
  • 其他规范在项目中根据实际情况决定和编写;

感谢

  • 非常感谢王红元老师的React核心技术实战让我学习到很多 react 的知识。
  • 非常感谢后台提供者Binaryify,接口很稳定,文档很完善

免费评分

参与人数 17吾爱币 +13 热心值 +14 收起 理由
ArrayList· + 1 + 1 谢谢@Thanks!
杜亚星 + 1 + 1 谢谢@Thanks!
huhan + 1 鼓励转贴优秀软件安全工具和文档!
coderyl + 1 我很赞同!
xiaohuohuo + 1 + 1 谢谢@Thanks!
shao123 + 1 + 1 用心讨论,共获提升!
mxw460 + 1 + 1 谢谢@Thanks!
zuijianren + 1 + 1 用心讨论,共获提升!
cyansto + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
msrwz + 1 超级棒,我最爱大神
science2011 + 1 + 1 谢谢@Thanks!
xdsqczkyqs + 1 用心讨论,共获提升!
银狐狸 + 1 我很赞同!
rettlf + 1 谢谢@Thanks!
pcm002 + 1 我很赞同!
rzss + 1 + 1 我很赞同!
时光书窝 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
jieleejie 发表于 2021-4-2 09:57
感谢分享,正在学全家桶,先mark一下
推荐
 楼主| 今晚不熬夜_ 发表于 2020-11-12 18:25 |楼主
G_ibsonl 发表于 2020-11-11 22:07
大佬膜拜啊,有没有APP版的技术教程。小白有个问题比较好奇,接口都是咋搞定的啊

API接口: http://123.57.176.198:3000/  (我已经部署到服务器上了)
APP版, 直接做移动端的就可以
沙发
森之木源 发表于 2020-11-11 15:42

回帖奖励 +2 CB吾爱币

非常强大的楼主,有前端UI设计教程分享吗?
3#
dejavuwl 发表于 2020-11-11 17:11

回帖奖励 +2 CB吾爱币

现在都开始教React不教Vue了吗
4#
lulala97 发表于 2020-11-11 17:27

回帖奖励 +2 CB吾爱币

楼主很厉害,先收藏啦,想模仿做一下
5#
时光书窝 发表于 2020-11-11 17:58

回帖奖励 +2 CB吾爱币

很厉害的样子,有视频吗
6#
 楼主| 今晚不熬夜_ 发表于 2020-11-11 18:56 |楼主
dejavuwl 发表于 2020-11-11 17:11
现在都开始教React不教Vue了吗

Vue学完了
7#
西楠 发表于 2020-11-11 19:54

回帖奖励 +2 CB吾爱币

感谢感谢,谢谢楼主
8#
rzss 发表于 2020-11-11 20:19

回帖奖励 +2 CB吾爱币

强啊,收藏
9#
ibook 发表于 2020-11-11 21:05

回帖奖励 +2 CB吾爱币

React很火啊
不过手机版如果能够自适应就更好了
10#
G_ibsonl 发表于 2020-11-11 22:07

回帖奖励 +2 CB吾爱币

大佬膜拜啊,有没有APP版的技术教程。小白有个问题比较好奇,接口都是咋搞定的啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表