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';
import Loadable from 'react-loadable';

const LoadableComponent = Loadable({
loader: () => import('./'),
loading(){
    return <div>页面正在加载中 ...</div>
  }
});

export default ()=> <LoadableComponent/>

放在index.js 根目录文件夹下

app.js 路由跳转 到 detail.js 的时候 先进入loadable.js
import Detail from './pages/detail/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 {
render() {
  return <LoadableComponent/>;
  }
}

项目打包上线  

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 简书的更多相关文章

  1. react 简书开发笔记

    详见文章<React简书开发实战课程笔记>

  2. react简书

    开发项目之前的准备 https://www.chromefor.com/  登录此网站 下载相关crx react插件 不然要FQ 下载 React Developer Tools 谷歌插件下载 Re ...

  3. react简书笔记一 环境, git 和 项目 关联

    1.. 建立git项目  ( 码云, github 都可以 ), 具体步骤: https://www.cnblogs.com/andy-lehhaxm/p/10720717.html 1.1  git ...

  4. 2. react 简书 头部(header) 图标添加

    1. 访问 iconfont 并注册 登陆 2. 进入 iconfont 头部 图标管理->我的项目 3. 点击右边的文件夹 + 号 图标 创建我的项目 输入项目名称即可 4.在 搜索框 搜索 ...

  5. 4 react 简书 引入 redux 的 combineReducers 对 redux 数据进行管理

    1. src 下的 common 下的 header 创建 store 文件夹 下创建 reducer.js # src/common/header/store/reducer.js const st ...

  6. 3 react 简书 添加 头部搜索动态效果

    1. 添加动态效果组件 yarn add react-transition-group 2. 修改 src/common/header/index.js import React, {Componen ...

  7. 2. react 简书 头部 (header) 样式编写

    1. 在 src 下 创建 common 文件下 创建 header 文件夹下 创建 index.js #src/common/header/index.js import React, {Compo ...

  8. 1. react 简书 项目初始化

    1. 创建 react 项目 npx create-react-app my-app 2. src 目录下删除 除了 index.js index.css app.js 的文件 3. 引入 style ...

  9. iOS离屏渲染简书

    更详细地址https://zsisme.gitbooks.io/ios-/content/chapter15/offscreen-rendering.html(包含了核心动画) GPU渲染机制: CP ...

随机推荐

  1. React 按需加载 - 代码分隔

    代码分隔 我们现在大多数React项目都是以Webpack 或者 Browserify等将一堆的jsx文件组织一起,并且由一个类似index.js的入口文件串联起来的单页面web页面. 例如: // ...

  2. day38 20-Spring与Junit整合

    package cn.itcast.test; import org.junit.Test; import org.junit.runner.RunWith; import org.springfra ...

  3. Python 经典正则表达式语法实例

  4. 两种方法使vue实现jQuery调用

    引言 如果说vue是前端工程化使用较多的骨架,那么JavaScript就是我们的前端的细胞.MVVM模式让我们体验到前端开发的便携,无需再过多的考虑DOM的操作.而vue的渐进式开发(逐步引用组件,按 ...

  5. thinkphp5.0 验证提示信息的类型

    以上是5.0.12版本 下面是5.0.5版本,没有elseif 上图中红方格的值只能是string类型,但是这种情况是在5.0.5版本是可以设置为array类型的

  6. python 模块的导入

  7. 用GitHub Pages搭了个博客,欢迎来玩~

    Welcome to visit my new blog https://luoxiaolei.github.io/ Ps. 后续的blog会优先更新到GitHub Pages上.

  8. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...

  9. 20182019-acmicpc-asia-dhaka-regional F .Path Intersection 树链剖分

    直接进行树链剖分,每次对路径区间内的所有点值+1,线段树进行维护,然后查询线段树的最大值的个数!!! 查询线段树区间最大值个数,可以先维护区间和,在维护区间最值,如果区间和等于区间最值乘以区间长度,那 ...

  10. @atcoder - ABC133F@ Colorful Tree

    目录 @description@ @solution - 1@ @accepted code - 1@ @solution - 2@ @accepted code - 2@ @details@ @de ...