刚学习了redux不久,刚好看到一个优秀的react项目github-explorer,该应用使用了RxJS去处理数据流,为了巩固学习便有了使用redux改写的想法。html
应用中使用了自定义个中间件api,方便编写异步的 action creators。异步action能够定义成如下方式git
export function loadUserProfileRepos (username) { return { types: [USER_PROFILE_REPOS_REQUEST, USER_PROFILE_REPOS_RECEIVED, USER_PROFILE_REPOS_FAILURE], callAPI: () => api('fechURL`) } }
中间件接收到这种形式的action,会处理异步请求并在适当的时候dispatchtypes
中的各项。github
应用的拉取数据的进度条方面,负责拉取状态reducer在接收到诸如xx_REQUEST
和xx_RECEIVED
的actions后,会更新表示进度条状态的数据。npm
由于只是巩固redux学习,因此原应用的部分动画效果没有加上。redux
除了数据流部分,应用大部分都是照搬了原应用。api
使用了redux后加上的依赖react-router
redux异步
react-router-redux学习
开发
npm install npm run start
打包
npm run dist