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. iView3.x Anchor(锚点)组件 导航锚点

    iView3.x Anchor(锚点)组件 导航锚点 iview 3.x框架中新添了一个Anchor(锚点组件),用这个组件去做页面的分类导航正好合适,但是苦于官方文档太过抽象研究了一整天,才勉强可以 ...

  2. linux系统命令配置文件

    系统命令要独占地控制系统,并让一切正常工作.所有如 login(完成控制台用户身份验证阶段)或 bash(提供用户和计算机之间交互)之类的程序都是系统命令.因此,和它们有关的文件也特别重要.这一类别中 ...

  3. python 正确地初始化对象

  4. oralce系统触发器

    系统事件是指基于oracle事件(例如logon.logoff和startup.shutdown)所建立的触发器,通过使用系统事件触发器,提供了跟踪系统或是数据库变化机制.下面介绍使用的系统事件属性函 ...

  5. BZOJ2802Warehouse Store题解

    链接 我太菜了,连贪心题都不会写... 贪心思路很简单,我们能满足顾客就满足他,如果满足不了,就看之前的顾客中 有没有需求比该顾客多的顾客,如果有的话改为卖给这位顾客会使解更优 所以我们用一个优先队列 ...

  6. PHPCMS快速建站系列之 pc标签where中如何使用变量

    {pc:content action="lists" catid="$catid" where="typeid='$t'" order=&q ...

  7. IIS 设置 FTP 服务器 添加多个账户

    我们有很多童鞋经常开不动IIS自带的FTP如何创建,就算创建了也不会实现多用户,下面我来分享一下我的经验吧: 使用 IIS 设置 FTP 服务器 依次单击“开始”按钮.“控制面板”和“添加或删除程序” ...

  8. Excel中IP地址排序

    思路 将IP地址按"."分隔,提取"."之间的每个数,然后根据提取出的列从左至右进行主要字段及次要字段排序 公式说明 返回一个字符串在另一个字符串中出现的起始位 ...

  9. Linux用户、群组和权限命令总结

    新建用户natasha,uid为1000,gid为555,备注信息为“master”   groupadd -g 555 natasha useradd -u 1000 -g 555 -c maste ...

  10. hdu3549 最大流

    #include<stdio.h> #include<string.h> #include<queue> #define MAXN 1010 using names ...