mdn W3C标准网站

运行sass

cnpm i -D node-sass-chokidar npm-run-all

rem单位设置

<script>
//rem单位设置
document.documentElement.style.fontSize = (window.innerWidth)/750 * 100 + 'px';
</script>

mock数据

1.下载mockjs
cnpm i -D mockjs
2.引入mockjs
var Mock = require('mockjs');
var fs = require('fs');
3.给出随机数据
Mock.Random.extend({
title:()=>Mock.Random.pick([1,2,3,4,5,6,7,8,9])
})
4.随机数据结果
var data = Mock.mock({
'arr|1-20':[{
'id|+1':1,
'title':'@title'
}]
})
5.写入文件data.json
fs.writeFile('./data.json',JSON.stringify(data),()=>{})
// 即出来相应的JSON数据

React 组件生命周期

1.组件的生命周期可分为三个状态:
1).Mounting: 已插入到真实DOM
2).Updating:正在被重新渲染
3).Unmounting:已移出真实DOM 2.生命周期的方法有:
1)componentWillMount 在渲染前调用,在客户端,也在服务端
2)componentDidMount:在第一次渲染后调用,只在客户端 //之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。 如果你想和其他JavaScript框架一起使用,可以在这个方法中调用setTimeout, setInterval或者发送AJAX请求等操作(防止异部操作阻塞UI)。
3)componentWillReceiveProps在组件接收到一个新的prop(更新后)时被调用。这个方法在初始化render时不会被调用。
4)shouldComponentUpdate 返回一个布尔值。在组件接收到新的props或者state时被调用。在初始化时或者使用forceUpdate时不被调用。
可以在你确认不需要更新组件时使用。
5)componentWillUpdate在组件接收到新的props或者state但还没有render时被调用。在初始化时不会被调用。
6)componentDidUpdate 在组件完成更新后立即调用。在初始化时不会被调用。
7)componentWillUnmount在组件从 DOM 中移除的时候立刻被调用。
8)ReactDOM.unmountComponentAtNode(document.getElementById('root')) // 组件初始化的时候 created
constructor(props) {
super(props) }
// 组件挂载之前 beforeMount
componentWillMount() { }
// 组件挂载完成 mounted
componentDidMount() { } // 组件将要接收新的props Vue没有的
// 执行完成之后,this.props指向新的props
// 唯一一个和props相关的生命周期
componentWillReceiveProps(nextProps) {
// 旧的props this.props
// 新的props nextProps
} // 通过返回值判断组件是否需要更新,用于React优化Vue没有的
// true更新,false不更新
shouldComponentUpdate(nextProps, nextState) {
// 旧的props this.props
// 新的props nextProps
// 旧的state this.state
// 新的state nextState
} // 组件将要更新 beforeUpdate
componentWillUpdate(nextProps, nextState) { }
// 组件更新完成 Updated
componentDidUpdate(prevProps, prevState) { }
// 组件将要卸载
componentWillUnmount() { }

卸载组件

1.挂载到Dom上时
ReactDom.unMountComponentAtNode(节点)
2.挂载在一个节点上
不渲染,等于null即可

组件

容器组件    有state数据管理
视图组件 没有state(class或函数)
// 函数(props通过函数的参数接收)
(props)=>{ }
ReactDOM.render()渲染组件时返回的是组件实例;
而渲染dom元素时,返回是具体的dom节点

this.refs 和 ReactDOM.findDOMNode区别

this.refs 获得的是虚拟DOM,而ReactDOM.findDOMNode 获得的是实际DOM。

1.ref添加到Compoennt上获取的是Compoennt实例,添加到原生HTML上获取的是DOM

2.ReactDOM.findDOMNode,当参数是DOM,返回值就是该DOM;当参数是Component获取的是该Component render方法中的DOM

refs vue中获取ref this.$refs.input

react获取ref
this.refs.input.value <input type='text' ref='input'/>

生命周期阶段

实例化时期
react组件在实例化时会依次调用如下组件方法: getDefaultProps
getInitialState
componentWillMount
render
componentDidMount 存在期
当react组件被实例化后,用户的一些操作会导致组件状态的更新,此时如下方法将依次被调用: componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
render
componentDidUpdate 销毁时期
在组件销毁的时候,会调用如下组件方法: componentWillUnmount

React之mockjs+sass+生命周期函数的更多相关文章

  1. react父子组件各自生命周期函数加载的先后顺序

    理解记忆总结: 父组件即将挂载(最外层的父组件都还没准备进入,其内部的子组件当然更没进入了) -> 子组件即将挂载  -> 子组件挂载完成(父内部都没完成,父当然不能算完成)  -> ...

  2. React的生命周期函数

    概述 在React中,生命周期函数指的是组件在某一个时刻会自动执行的函数 constructor 在类或组件创建的时候被自动执行,我们可以说它是生命周期函数,但它并不是React所特有的,所有的Es6 ...

  3. React——组件的生命周期函数

    每一个组件都有一些生命周期函数. 当组件实例被创建并且会插入到DOM中,下面这些函数会被调用 constructor componentWillMount render componentDidMou ...

  4. React 学习(四) ---- 生命周期函数

    现在我们能修改状态,页面可以进行交互了,但是还有一种状态改变没有解决,那就是倒计时效果,时间一直在变化,组件状态也一直在改变,但我们什么都没有做,如果要实现这样的效果,需要怎么处理? 我们都知道,改变 ...

  5. React生命周期函数详解

    React生命周期函数 生命周期函数是指在某一个周期自动执行的函数. React中的生命周期执行过程 以下是React中的常用的生命周期函数,按个部分中按照自动执行顺序列出,这几个过程可能存在同时进行 ...

  6. react生命周期函数使用箭头函数,导致mobx-react问题

    最近新人加入了项目,遇到了一个很奇怪的问题.mobx observable 属性,onChange的时候就是页面不会刷新. 试来试去,就是不知道什么原因,后来其他同事查到是因为componentWil ...

  7. React组件详细介绍及其生命周期函数

    组件的详细说明 通过Reac.createClass({...})创建组件的时候,应该有一个render()方法,也可以在其中添加生命周期函数. render方法 当调用该方法的时候,会检测this. ...

  8. React组件安装使用和生命周期函数

    React安装在使用react时 需要安装 两个模块 react react-dom 初始化时 需要用到react-dom中的render方法 具体如下: import ReactDOM from & ...

  9. 2.React 生命周期函数

    什么是生命周期函数:在某一时刻组件会自动调用执行的函数. import React,{ Component,Fragment } from 'react' class Note extends Com ...

随机推荐

  1. set theory

    set theory Apart from classical logic, we assume the usual informal concept of sets. The reader (onl ...

  2. jQuery篇

    jQuery 1.为什么使用jQuery? js中window onload事件只能出现一次,如果出现多次,后面的事件会覆盖掉前面的事件 js代码容错差 简单的动画效果实现很繁琐,例如简单的动画渐变效 ...

  3. eclipse优化自动补全(解决空格、分号等上屏问题)

    第一步:打开"Window"——>"Show View"——>"Other"——>找到"Plug-in Deve ...

  4. 拿到新linux服务器,从配置环境到跑起项目的部署流程

    今早翻开手机看到某云一条广告Linux1 核 2 GB 1 Mbps服务器10元一个月,正巧最近在搞linux,于是下单了一台2个月20. 上班来到公司后,借空闲时间一顿研究,一波骚操作配置后,浏览器 ...

  5. v-cloak使用

    v-cloak:保持和元素实例的关联,直到结束编译后自动消失. v-cloak指令和CSS 规则一起用的时候,能够解决差值表达式闪烁的问题(即:可以隐藏未编译的标签直到实例准备完毕). 就拿上一段代码 ...

  6. 37)PHP,获取数据库值并在html中显示(晋级2)

    下面的是上一个的改进版,我知道为啥我的那个有问题了,因为我的__construct()这个函数的里面的那个变量名字搞错了,哎,这是经常犯得毛病,傻了吧唧,气死我了. 之前的那个变量的代码样子: cla ...

  7. P2486 [SDOI2011]染色 区间合并+树链剖分(加深对线段树的理解)

    #include<bits/stdc++.h> using namespace std; ; struct node{ int l,r,cnt,lazy; node(,,,):l(l1), ...

  8. hdu 2586 How far away ?(LCA模板)(倍增法)

    在dfs的过程中维护三个数组: deep[i],表示i点在树中的深度: grand[x][i],表示x的第2^i个祖先的节点编号: dis[x][i],表示x到它2^i祖 #include<io ...

  9. 必应翻译:让Windows上的翻译不再是难事

    文章译自:Translations Made Easy on Windows 比方说今年夏天你想出国旅行,计划去一趟德国.你的行程很丰富:参观慕尼黑和柏林,乘坐游船沿莱茵河而下,再品尝几串摩泽尔的葡萄 ...

  10. 02-Java开发环境的配置

    在本章节中我们将为大家介绍如何搭建Java开发环境. Windows 上安装开发环境 window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www ...