由于前段时间写了一个React-Native版本的移动端四川观察app(gitHub地址为:https://github.com/yanziX/React-native-SichuanFocusRN.git),就好奇网页版的怎么写,所以就顺带学了React,gitHub地址为:https://github.com/yanziX/react-sichuanfocus.git。
页面效果如下:
(时讯,直播以及后面的界面属于UI相同的界面,因为个人时间问题,所以热点以及后面的页面没有写)
奉上项目目录结构:
actions->index.js 是项目的所有行为,包括网络请求相关内容
component是View相关内容:
component->header是头部内容
component->Page是主页面相关内容(首页,时讯,直播。。。)
component->Sub_component->Swiper是封装的子view,swiper是首页的轮播图,行为交互并没有按照Redux来,这样有利于独立拆分出来
component-View是封装的子view,可以多个界面复用或者单独使用
config:一些配置文件,这里只有接口的api文件
constants:全局变量
container:容器文件,这里没有用上,直接和component文件里的view融合在一起了
reducers:用来处理数据,包括了项目的主界面用到的所有数据(项目里只有index.js有用,其他三个并没有删除)
style:css布局
下面介绍项目查看流程:
1.入口文件是index.js,创建全局store,并渲染入口界面pc_app.js
pc_app.js使用react-router-dom创建了首页、时讯、直播等相关路径
2.在首页、时讯、直播界面的操作一致,触发自己界面的接口请求操作,在actions->index.js网络请求数据,数据结果存储在reduces-index.js中。
界面的布局显示只需要引入子view,并填充即可。
3.因为所有的数据都在reducers->index.js中存储,所以各个界面的数据是分开的,只需要通过mapStateToProps获取reducer->index.js中的数据即可。
第一次使用redux和react结合写项目,如果有不合适的地方,还请各位路过的同僚多多指教哦,还请看过的朋友在下载项目的时候不要吝啬,给个✨再走哦,哈哈