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 ...
随机推荐
- phpcms 按价格、按销量、按时间等排序实现思路
大体思路是在链接中加入指定排序的参数,例如我们使用get中的order作为排序参数: order=views 人气:order=sells 效率:order=pirce 按价格: 那么这三个排序按钮的 ...
- python中sort排序
排序并且改变自身结果: nums.sort()
- Deserializing/Serializing SOAP Messages in C#
/// <summary> /// Converts a SOAP string to an object /// </summary> /// <typep ...
- Directx11教程(56) 建立一个skydome
原文:Directx11教程(56) 建立一个skydome 本章建立一个skydome(天空穹),主要学习如何使用cube mapping. cube map就是把六张纹理当作 ...
- yum install mysql-devel
linux系统在装mysql相关的包时要先装mysql-deval,这个包包含mysql的相关配置和环境组件 执行yum install mysql-deval
- JavaScript--微博发布效果
效果图: 实现思路: 当发布按钮被点击时,又会分为三种情况 1.如果输入的内容为空,弹出提示:不能发布空微博 2.如果输入的文字超过120,弹出提示,微博内容不能超过120 3.正常发布微博到列表里 ...
- Python里的堆heapq
实际上,Python没有独立的堆类型,而只有一个包含一些堆操作函数的模块.这个模块名为heapq(其中的q表示队列),默认为小顶堆.Python中没有大顶堆的实现. 常用的函数 函 数 描 述 hea ...
- Android实战:手把手实现“捧腹网”APP(三)-----UI实现,逻辑实现
Android实战:手把手实现"捧腹网"APP(一)-–捧腹网网页分析.数据获取 Android实战:手把手实现"捧腹网"APP(二)-–捧腹APP原型设计.实 ...
- poj1637&&hdu1956 混合欧拉回图判断
欧拉路:经过所有路有且仅有1次,可以路过所有的点. 无向图: 图连通,所有点都是偶数度,或者只有两个点是奇数度.当所有点是偶数度时欧拉路起点可以是任意点:当有两个奇数度点时起点必须是奇数度点. 有向 ...
- Oracle 11g Pivot函数实现行转列
先上语法规范: SELECT .... FROM <table-expr> PIVOT ( aggregate-function(<column>) FOR <pivot ...