/react-music-lhy

基于react16+ react-router4+ typescript react-redux的移动端音乐播放器

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

一个适合练手的react项目

项目以及项目笔记会不断更新
体会vue与react项目区别
声明:本项目参考了滴滴大佬的vue项目,原vue项目请关注ustbhuangyi

项目运行

npm install
npm start
项目中用到的一些自定义types在common/js/typings目录下
可以通过dts-gen为没有types的npm包自动生成d.ts声明文件

项目笔记

D1

D2

D3

D4

D5

部署

ToDo

  • 完善项目中typescript类型
    • store,action类型
    • 数据类型
    • 无状态组件 React.SFC
    • 有状态组件 readonly state : Readonly<IState>,react已经对props、props的属性与state的属性作了只读处理
    • react事件类型
    • ref类型 React.RefObject<Scroll> --> <Scroll ref={this.toplist}></Scroll>
    • 媒体事件类型 const { currentTime } : { currentTime: number } = e.target as HTMLMediaElement
  • 项目本地部署
  • create-react-app优化打包
  • electron构建exe

页面展示

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

npm run eject

Note: this is a one-way operation. Once you eject, you can’t go back!

If you aren’t satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.