技术标签: react javascript
what | way |
---|---|
React | 创建组件 |
Redux | 管理数据 |
react-redux | 方便使用 redux |
redux-thunk | 让store有能力接收函数,用来做异步数据获取与复杂逻辑 |
immutable.js | 保证 redux 的 state 不被修改 |
react-router | 路由管理 |
react-loadable | 实现异步组件,而不是所有代码都打包在一起 |
styled-components | 模块化 CSS |
react-transition-group | 动态改变 class 属性值实现 react 动画 |
注意:这里默认给您写的是cnpm哦,如果不支持请修改第三行为 npm install
git clone https://github.com/Wangdachui110/jianshu.git
cd jianshu
cnpm install
npm start
首页的样式与布局,没有做响应式
页面头部搜索栏的动画与推荐
页面头部:登陆与退出的跳转
页面头部:写文章的权限验证,没有登陆会跳到登陆页面
登陆页的简单布局。没有验证哈
文章详情的跳转,虽然点每一个跳过去都是同一篇文章,但发送的ajax请求不同
注: 所有的mock数据放在puclic/api
按照页面进行拆分。 src/pages 目录下的每一个文件夹代表一个页面
每一个页面的文件夹下管理它自己的数据与状态 通过 combine-reducer ,可以将庞大的state分割到多个文件中,在每一个代表页面的文件夹中各自管理各自的数据,可以极大的降低合作成本,并让代码清晰
将通用组件或一个不属于某一个路由的组件如header部分放到src/common文件夹中,尽可能提高服用度
在src/App.js中管理路由
在src/store/reducer中合并所有的reducer
│ App.js 根组件
│ index.js 项目入口
│ style.js 注入到全局的样式, 重置默认样式
├─store
| index.js 唯一的store
| reducer.js 合并各组件的reducer
|
├─common 通用组件文件夹
│ ├─header 头部组件,它独立于页面之外,却又较为复杂,所以单独抽出
│ │ │ index.js 组件入口,布局与逻辑
│ │ │ style.js 组件使用标签以及样式
│ │ │
│ │ └─stroe header区域所有的数据
│ │ actionCreators.js 统一管理action
│ │ constants.js 用常量替代所有的action的type值
│ │ index.js 导出actionCreators与reducer
│ │ reducer.js 根据不同的action修改state
│ │
│ └─tools 存放所有的小组件
│ │ index.js 导出所有的工具组件
│ │
│ ├─components 放置通用组件
│ │ └─backTop 回到顶部组件
│ │ index.js
│ │ style.js
│ │
│ └─store 这里打算用一个文件夹来管理所有通用组件的数据,↓
│ actionCreators.js 因为通用组件主要是样式,逻辑是少数
│ contants.js
│ index.js
│ reducer.js
│
├─pages 所有的页面
│ │
│ ├─home 主页
│ │ │ index.js 主页入口
│ │ │ style.js 主页样式
│ │ │
│ │ ├─components 首页被划分为下列组件
│ │ │ List.js 列表组件
│ │ │ Recommed.js 推荐组件
│ │ │ Topic.js 话题组件
│ │ │ Writer.js 作者组件
│ │ │
│ │ └─store
│ │ actionCreators.js 统一管理action
│ │ constains.js 用常量替代所有的action的type值
│ │ index
文章浏览阅读2w次,点赞11次,收藏19次。文章目录一、如何将List拆分为多个小list写在前面:我是「境里婆娑」。我还是从前那个少年,没有一丝丝改变,时间只不过是考验,种在心中信念丝毫未减,眼前这个少年,还是最初那张脸,面前再多艰险不退却。写博客的目的就是分享给大家一起学习交流,如果您对 Java感兴趣,可以关注我,我们一起学习前言:在平常写代码时候可能会遇到需要将一个大list拆分多个小list,进行一些业务处理。一、如何将List拆分为多个小list如何将List拆分多个小list,首先我们需要list.sublist这个方法_java把list分成多个list
文章浏览阅读2.4k次。有时候SQL Server意外断电会导致SQL Server的ldf日志文件丢失或者损坏,这个时候你如果直接附加mdf文件到SQL Server会失败,这里提供一个方法可以还原只有mdf的数据库文件,这里我们假设你要还原的数据库文件是YourDB.mdf首先在SQL Server中创建一个同名的数据库,叫[YourDB]。 然后停止SQL Server的数据库引擎服务(通过配置管理器停止服务..._只复制了ndf 没复制ldf文件怎么附加
文章浏览阅读5.6k次,点赞4次,收藏53次。Call流程无论是在CS还是ims域看掉话问题首先先分析是否校准以及写入IMEI号在 kernel-3.18及其以前的老平台中可以通过随机接入来分析DUT是否有校准,如果信号还算良好,但频繁随机接入失败。那么可能是没有校准或rf参数本身有问题。典型log如下1403508, 947548, 884529, 18:05:45:610 2018/02/27, MOD_UMAC, , TRACE..._mtk modem 分析
文章浏览阅读4.7w次,点赞4次,收藏4次。出现上面问题的原因是webpack.config.js中config.devServer 配置出现了问题const config = { ...}if(isDev) { config.devServer = { port: 8000, host: '0.0.0.0', overlay: { errors: true,..._webpack dev server invalid options
文章浏览阅读5.4k次。转载地址:http://blog.csdn.net/baidu20008/article/details/41378761事件驱动模型广泛地应用于高性能的web服务器中。而相对应的事件处理模式,最为典型的就是Reactor模式(中文可以称作“反应器” “反应堆”等等,各种叫法都不一样,估且就使用英文吧,叫它Reactor模式)和Proactor模式(中文也称“主动器” “前摄器”,同前者一样称_c++设计模式reactor
文章浏览阅读1.4w次,点赞2次,收藏21次。linux命令之筛选文件内容(sed命令) 在linux系统中,可能有这样的需求,比如查看某个文件中含有某些字符的内容。比如,日志文件中,只要含有error 相关的。可以使用如下命令:1、根据字符串内容筛选sed -n "/error/p" logs.log 注意以上/error/p 中的p 必须要带着,后边的logs.log 是一个文件,输入上边的命令,则会打印出只含有err..._linux过滤时间范围内的文件内容命令
文章浏览阅读243次。Centos7 系统上原有目录/data 挂载根目录下,空间有点小,我们需要把/data目录挂载到另一个磁盘,同时把数据迁移。1.查看分区情况fdisk -l2.查看路径对应分区情况df -l3.查看分区文件格式df -T -H4.给指定磁盘分区fdisk /dev/vdaCommand (m for help) nprimary partition (1-4) pPartition number..._linux 移动文件会改变文件的挂载点吗
文章浏览阅读1.5k次,点赞2次,收藏3次。OC介绍文章目录前言 一、OC是什么? 二、第一段OC代码 三、OC基本介绍前言Objective-C是一种面向对象的C语言,本质还是C语言,兼容C和C++ 简称:OC提示:以下是本篇文章正文内容,下面案例可供参考一、OC是什么?Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用..._oc语言输出程序
文章浏览阅读836次。我已经通过autossh建立了一个隧道.这有效:autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected]我想在后台运行autossh.使用-f选项似乎很容易.但是,这不起作用:autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myh..._autossh -r 访问不了
文章浏览阅读744次。问题导读1.hbase安装在什么情况下会发生,启动之后自动宕机2.hbase安装目录该如何选择?3.hbase目录如果出现权限不一致,会发生什么情况?4.如果只有一个节点有临时目录会出现什么情况?_hbase-common-2.2.4.jar
文章浏览阅读3.1k次。国密认证遇到的一些问题记录:gmssl生成的key文件解析:gmssl生成的SM2证书文件解析:_gmssl 生成base64
文章浏览阅读7.8k次。一、单选题 (共 90.00 分)1.关于学术造假,下列说法是不正确的是( )A.指伪造、修改研究数据和资料等学术腐败行为B.通常是由研究者学风浮躁和急功近利所致C.为了令理论假设成立,加工和筛选数据并不是造假D.是一种违背学术道德和科学精神的表现满分:15.00 分得分:15.00 分你的答案:C正确答案:C教师评语:暂无2.资料分析中的失范行为往往也被称为学术造假,下列情况不属于学术造假的是( )A.筛选数据B.整理数据C.加工数据D.伪造数据满_关于伪造科研数据下列说法错误的是