React 简书
create-react-app jianshu
yarn add styled-components -D 利用js写css样式 样式会更高效
|
https://github.com/chochinlu/blog/issues/126 https://blog.csdn.net/weixin_43801564/article/details/86713318 关于全局样式 原方法淘汰替代的语法 |
| -:)》》》》》为样式生成唯一的 class name. 开发者不必再担心 class name 重复,覆盖和拼写错误的问题 |
yarn add react-transiation-group 安装一个js动画效果的外包辅助工具
|
https://reactcommunity.org/react-transition-group/css-transition https://segmentfault.com/a/1190000015487495 js封装的动画库 H5 原生就是H5动画 |
| -:)》》》》》会给子级增添动画属性 ,针对包含的子级添加css样式 |
yarn add redux -D redux
yarn add react-redux -D 安装公共数据 存储对象
Redux 连贯套路
创建stroe----创建reducer ----放入store----reducer(放入action,一个状态)--------connect(给一个状态type)---------reducer(通过action.type 更改state中的数据)

无状态组件
| 里面没有任何的 状态 所有的数据都是从 props中拿到的,redux中拿到的数据和方法 |
|
const 组件 = (props)=》{ return( <BigDiv> <i >{props.data}</i> </BigDiv> ) } |
yarn add immutable -D
|
对数据进行 immutable 管理 import { fromJS } from 'immutable'; --------------------------------------------------------------------------------------------------------------------------------- reducer 设置更新数据的时候 单个 return state.set('listData',fromJS(action.data)) 多个 return state.merge({ listData:fromJS(action.data),artData:fromJS(action.data) }) ----------------------------------------------------------------------------------------------------------------------------------- /通过行内传递参数 <img imgUrl="http://123.png"/> styled 就可以通过 background:url(${(props)=>props.imgUrl}); ----------------------------------------------------------------------------------------------------------------------------------- 配合 Purecomponent 使用 :它的作用 一处修改不会页面全部重新渲染 修改哪里 重新渲染哪里 !!!!注意 只有用了 immutable 才可以使用该方法 |
路由配合单页面内跳转
首页跳转详情页 加id 动态路由配置
![]() |
动态路由 常用格式
|
|
请求完整的流程 分析图
|
字符串转移为html代码 (编辑器写入一段带HTML格式的存入了数据库,数据库拿出来用这个转为HTML代码)
| dangerouslySetInnerHTML={{__HTML:this.props.String}} |
判断显示哪一个块,显示登陆 or 注册(代码块)
|
render(){ if(true){ return(<div>登录</div>) }else{ return(<div>注册</div>) } } |
重定向Redirect
import { Redirect } from 'react-router-dom';
<Redirect to="/" />
Input ref获取表单的里面的数据

异步优化分页代码(配合withRputer)
异步
shouldComponentUpdate 底层是这个但是很麻烦 ,很繁琐
利用第三方辅助 react-loadable
|
优化异步 请求分页文件 react-loadable import React fron 'react'; const LoadableComponent = Loadable({ export default ()=> <LoadableComponent/> 放在index.js 根目录文件夹下 app.js 路由跳转 到 detail.js 的时候 先进入loadable.js 然后在 index.js 中映入 loadable 文件 ,引入包裹组件 但是原先的 router 中的 id 就会找不到 ,那么就用到withRouter 解决办法: withRouter from 'react-router-dom'; 包裹在 connect(withRouter(detail)) 原代码 来资源 react-loadable export default class App extends React.Component { |
项目打包上线
npm run build
生成文件夹 build 里面的全部文件给到 后台 XAMPP /htdocs 文件
build里面的文件全部放入,访问后台服务器 测试服务器为 127.0.0.1 本地服务器
打包空白 pack.json 添加 homepae:'./'
项目前期完整框架搭建------后期就好做多了 (填充内容)
7-1 项目目录搭建,Styled-commponents与React。
https://pan.baidu.com/s/1b7LIIh9l_VbJIjMEM9t_qA
7-2 使用 Styled-commponents完成Header组件布局(1)
https://pan.baidu.com/s/1K45oL0wjqYmbnkPhbUU0DA
7-3 使用 Styled-commponents完成Header组件布局(2)
https://pan.baidu.com/s/1e9kPIdaoqfCVqMv3hkkb8A
7-4 使用iconfont潜入字体图标 https://www.iconfont.cn/
https://pan.baidu.com/s/1PdTkiw6tWGOpli2Q92tDJQ
7-5 搜索框动画效果实现
https://pan.baidu.com/s/11gikpHUejCC0Wtescc9rzw
7-6 使用React-redux 进行应用数据的管理
https://pan.baidu.com/s/1X4ngbC4_2xP45c_tOVowVA
7-7 使用combineReducers 完成对数据的拆分
https://pan.baidu.com/s/1QG0Z6vPnEZFYg2urLhyUVQ
7-8 actionCreators.js and actionTypes.js 的封装
https://pan.baidu.com/s/1_PQ3b5ITUH6t45vdypxXSw
7-9 immutable 对存储在 {store}中的数据管理
https://pan.baidu.com/s/1QmbGDNtxCXNNeY-ObA1How
7-10 redux-immutable 对数据的统一管理
https://pan.baidu.com/s/10TIT2-__u0Va5GbY6IaylQ
React 简书的更多相关文章
- react 简书开发笔记
详见文章<React简书开发实战课程笔记>
- react简书
开发项目之前的准备 https://www.chromefor.com/ 登录此网站 下载相关crx react插件 不然要FQ 下载 React Developer Tools 谷歌插件下载 Re ...
- react简书笔记一 环境, git 和 项目 关联
1.. 建立git项目 ( 码云, github 都可以 ), 具体步骤: https://www.cnblogs.com/andy-lehhaxm/p/10720717.html 1.1 git ...
- 2. react 简书 头部(header) 图标添加
1. 访问 iconfont 并注册 登陆 2. 进入 iconfont 头部 图标管理->我的项目 3. 点击右边的文件夹 + 号 图标 创建我的项目 输入项目名称即可 4.在 搜索框 搜索 ...
- 4 react 简书 引入 redux 的 combineReducers 对 redux 数据进行管理
1. src 下的 common 下的 header 创建 store 文件夹 下创建 reducer.js # src/common/header/store/reducer.js const st ...
- 3 react 简书 添加 头部搜索动态效果
1. 添加动态效果组件 yarn add react-transition-group 2. 修改 src/common/header/index.js import React, {Componen ...
- 2. react 简书 头部 (header) 样式编写
1. 在 src 下 创建 common 文件下 创建 header 文件夹下 创建 index.js #src/common/header/index.js import React, {Compo ...
- 1. react 简书 项目初始化
1. 创建 react 项目 npx create-react-app my-app 2. src 目录下删除 除了 index.js index.css app.js 的文件 3. 引入 style ...
- iOS离屏渲染简书
更详细地址https://zsisme.gitbooks.io/ios-/content/chapter15/offscreen-rendering.html(包含了核心动画) GPU渲染机制: CP ...
随机推荐
- React 按需加载 - 代码分隔
代码分隔 我们现在大多数React项目都是以Webpack 或者 Browserify等将一堆的jsx文件组织一起,并且由一个类似index.js的入口文件串联起来的单页面web页面. 例如: // ...
- day38 20-Spring与Junit整合
package cn.itcast.test; import org.junit.Test; import org.junit.runner.RunWith; import org.springfra ...
- Python 经典正则表达式语法实例
- 两种方法使vue实现jQuery调用
引言 如果说vue是前端工程化使用较多的骨架,那么JavaScript就是我们的前端的细胞.MVVM模式让我们体验到前端开发的便携,无需再过多的考虑DOM的操作.而vue的渐进式开发(逐步引用组件,按 ...
- thinkphp5.0 验证提示信息的类型
以上是5.0.12版本 下面是5.0.5版本,没有elseif 上图中红方格的值只能是string类型,但是这种情况是在5.0.5版本是可以设置为array类型的
- python 模块的导入
- 用GitHub Pages搭了个博客,欢迎来玩~
Welcome to visit my new blog https://luoxiaolei.github.io/ Ps. 后续的blog会优先更新到GitHub Pages上.
- MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数
MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...
- 20182019-acmicpc-asia-dhaka-regional F .Path Intersection 树链剖分
直接进行树链剖分,每次对路径区间内的所有点值+1,线段树进行维护,然后查询线段树的最大值的个数!!! 查询线段树区间最大值个数,可以先维护区间和,在维护区间最值,如果区间和等于区间最值乘以区间长度,那 ...
- @atcoder - ABC133F@ Colorful Tree
目录 @description@ @solution - 1@ @accepted code - 1@ @solution - 2@ @accepted code - 2@ @details@ @de ...

