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. [java]java构造器 标签: java面向对象 2017-06-11 11:16 195人阅读 评论(12)

    构造器这个概念,各种语言都有出现,虽然为了考试或者其他学了好多遍,但是自己一直不能理解这个概念,前几天又学了一遍,突然就明白了,下面随小编来一起学习一下吧. 什么是构造器? 在类别基础的面向对象程序设 ...

  2. spss命令数据整理中compute与record命令的区别

    spss命令数据整理中compute与record命令的区别 record修改存在的变量,或者生成新的变量 spss变量定义说明 1.Name:变量名,定义规则与其它软件中的雷同,如第一个字符必须为字 ...

  3. mysqldump命令之数据库迁移

    格式说明如下: mysqldump -h源主机IP -u源主机用户 -p源主机用户密码 数据库名 | mysql -h目标主机IP -u目标主机用户 -p目标用户密码 数据库名 

  4. solr dataimport中遇到的问题

    1.windows的tomcat是没有catalina.out的,可以通过修改start.bat和catalina.bat的方式让日志输出到catalina.out 2.按照网上搜到的资料配置好sol ...

  5. day40-Spring 01-上次课内容回顾

  6. 【JZOJ4876】【NOIP2016提高A组集训第10场11.8】基因突变

    题目描述 邪恶的707刚刚从白垩纪穿越回来,心中产生了一个念头:我要统治人类! 但是统治人类是很庞大且复杂的一个工程,707尝试了洗脑,催眠,以及武装镇压都没能成功地统治人类,于是她决定从科学上对人类 ...

  7. [转]The Curse of Dimensionality(维数灾难)

    原文章地址:维度灾难 - 柳枫的文章 - 知乎 https://zhuanlan.zhihu.com/p/27488363 对于大多数数据,在一维空间或者说是低维空间都是很难完全分割的,但是在高纬空间 ...

  8. APP UI设计趋势:为好设计而动

    http://www.cocoachina.com/design/20150703/12029.html 作者:bone9 善心悦目的动效已然成为一个app的必备,作为设计师自然要跟随趋势学习.APP ...

  9. SDUT-2772_数据结构实验之串一:KMP简单应用

    数据结构实验之串一:KMP简单应用 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定两个字符串string1和str ...

  10. 02docker简单使用和配置(网络、存储和Hub)

    四:网络 1:命名容器 在各种docker命令中,可以通过名字中找到对应的容器.之前创建的容器都是由docker自动命名的,可以在docker  run中,通过--name参数指定容器的名字.比如: ...