美文网首页让前端飞前端攻城狮React.js
React框架搭建简易音乐播放器

React框架搭建简易音乐播放器

作者: 穆熙沐 | 来源:发表于2018-08-14 18:56 被阅读12次

    https://github.com/Zmaxt/react-music
             花了两周的时间,跟着视频学习,撸了个音乐播放器。技术栈:react,事件订阅,Jplayer,webpack自动化打包工具。
    页面样式如下:

    player.png
    list.png
    实现的功能有:
    音乐播放,(播放模式:随机,单曲循环,顺序播放)
                      (播放设置:快进,后退,音量调节,暂停,启动)
    列表查看,(删除,切换播放歌曲)
    数据来源:
    mock music list
    开发步骤:
    一.搭建开发环境:
    webpack.png
    1. npm init 创建package.json
    2. npm install 安装依赖npm 会去找package.json下的dependencies安装
    3. 创建webpack配置文件 webpack.config.js (entry:index.js,output:path,filename)
    4. 创建入口文件:index.js
    5. Linux 命令:webpack 完成打包
    6. 创建index.html页面运行
      webpack常用loader
      babel-loader
      css-loader
      less-loader
      webpack dev server
      搭建本地服务器,自动刷新
      image.png
      二.组件开发
      createClass 创建组件
      render 函数将返回的html结构挂载到DOM节点上
      <appcontainer></appcontainer>组件表明哪些组件需要更换
      componentDidMount 只会在装载完成之后调用一次,在 render 之后调用,从这里开始可以通过 ReactDOM.findDOMNode(this) 获取到组件的 DOM 节点。
      componentWillUnmount 解绑事件
      组件间通信:
      父子组件之间传递参数; props
      父-子.png
      子-父.png
      子组件接收.png
      调用父方法.png

    非父子组件 pub/sub 事件订阅,不过复杂项目便难以维护,复杂大型项目使用flux。
    三.路由
    Router组件本身只是一个容器,真正的路由要通过Route组件定义。

    Route.png
    上面的是嵌套路由,先加载App组件,然后再加载Player组件
    App组件要这样写:
    App.png
    App组件的this.props.children属性就是子组件。
    flux的一种实现方法redux
    单向数据流.png
    redux流程.png
    react.png
    action.png reducer.png

    总结与思考:
    1.Function bind(this,arg1,arg2,arg3) 绑定事件
    2.

    巧妙处理数组内循环index+1.png
    3.state
    组件免不了要与用户互动,React 的一大创新,就是将组件看成是一个状态机,一开始有一个初始状态,然后用户互动,导致状态变化,从而触发重新渲染 UI 。
    getInitialState(){
    定义初始状态
    }
    通过this.state.[attr] 读取状态,this.setState({修改状态})

    相关文章

      网友评论

        本文标题:React框架搭建简易音乐播放器

        本文链接:https://www.haomeiwen.com/subject/yzwybftx.html