热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

reactantdcheckbox_React系列二十二云音乐项目实战

项目地址:https:github.comcoderwhyhy-react-web-music如果觉得不错,或者对你有帮助,点一个star

项目地址:https://github.com/coderwhy/hy-react-web-music

如果觉得不错,或者对你有帮助,点一个star~ coderwhy

1.1. 项目简介

使用React编写的云音乐PC Web项目,接口来源于开源的接口,自己已经做了部署。

项目已经完成功能如下:(你可以下载下来自己体验一下)

推荐页面:

  • 轮播图
  • 热门推荐
  • 新碟上架
  • 榜单
  • 等等
0ad25a8db6f016edb206bbe6472d271b.png
推荐页面
0397890b6764dc0bb2c918db8e61b6a9.png
推荐页面

歌曲播放:

  • 目前做了榜单中歌曲的点击播放;
  • 事实上其他页面只要将歌曲的id传入到redux中就可以,整个逻辑已经打通;
  • 做了歌曲的各种控制(暂停、播放、上一首、下一首、进度改变);
  • 做了播放循序切换:顺序播放、随机播放、单曲循环;
  • 做了歌词的解析、展示、滚动;
e6c06538ecfdbd275175dc45f329692e.png
歌曲播放

排行榜页面:

  • 各种榜单的切换;
63403bae93ccc586677ee29af50c8bdb.png
排行榜页面

歌单页面:

  • 选择分类、选择分类后根据分类切换歌单;
  • 根据分类,歌单列表的展示;
  • 分页功能;
b3eed7e63d5e26ec55be095eaae8c5c5.png
歌单页面

主播电台:

  • 电台分类的展示、滚动;
  • 不同分类展示不同的数据;
  • 电台排行榜展示、分页;
f86c1e978da034475d0464cad1efbc93.png
主播电台

歌手页面:

  • 各种歌手分类(没找到接口,还自定义了一些数据)
  • 歌手字母分类、对应歌手展示;
f6c60f3c222da2851fa5887fb8648dbb.png
歌手页面

新碟上架页面:

  • 热门新碟;
  • 全部新碟、分页展示;
9af693b9ef9d42727906c074c038985d.png
新碟上架页面

1.2. 项目规范

项目规范:项目中有一些开发规范和代码风格

  • 1.文件夹、文件名称统一小写、多个单词以连接符(-)连接;
  • 2.Javascript变量名称采用小驼峰标识,常量全部使用大写字母,组件采用大驼峰;
  • 3.CSS采用普通CSS和styled-component结合来编写(全局采用普通CSS、局部采用styled-component);
  • 4.整个项目不再使用class组件,统一使用函数式组件,并且全面使用Hooks;
  • 5.所有的函数式组件,为了避免不必要的渲染,全部使用memo进行包裹;
  • 6.组件内部的状态,使用useState、useReducer;业务数据全部放在redux中管理;
  • 7.函数组件内部基本按照如下顺序编写代码:
    • 组件内部state管理;
    • redux的hooks代码;
    • 其他组件hooks代码;
    • 其他逻辑代码;
    • 返回JSX代码;
  • 8.redux代码规范如下:
    • redux结合ImmutableJS
    • 每个模块有自己独立的reducer,通过combineReducer进行合并;
    • 异步请求代码使用redux-thunk,并且写在actionCreators中;
    • redux直接采用redux hooks方式编写,不再使用connect;
  • 9.网络请求采用axios
    • 对axios进行二次封装;
    • 所有的模块请求会放到一个请求文件中单独管理;
  • 10.项目使用AntDesign
    • 项目中某些AntDesign中的组件会被拿过来使用;
    • 但是多部分组件还是自己进行编写;
  • 其他规范在项目中根据实际情况决定和编写;

1.3. 项目运行

clone项目:

clone https://github.com/coderwhy/hy-react-web-music.git

安装项目依赖:

yarn install

项目运行:

yarn start




推荐阅读
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 前端开发:从底层到顶端的行业现象解析
    在编程领域,鄙视链现象屡见不鲜,从C语言到Java、.NET等,每个技术栈都有其独特地位。然而,前端开发者尽管常处于鄙视链底端,却在市场需求中备受青睐。本文深入探讨这一现象,并分析前端工程师如何在竞争激烈的市场中脱颖而出。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 博主从零开始学习HTML(入门基础)
    从零开始学习HTML(入门基础)互联网三大基石HTTP协议URL:统一资源定位符HTML:超文本标记语言HTML的Head标签中的常用元素<!--告知 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
author-avatar
zhaobo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有