React组件,React和生命周期
笔记,具体可以看看这个博客:
https://segmentfault.com/a/1190000004168886?utm_source=tag-newest
- react 的jsx document.createElement()一层层cereateElement
- 问题一:jsx render函数原理?
- 一:
- 引入:
- react.js
- react-dom.js
- browser.min.js
- <script type="text/babel">
- var destination = document.querySelector("#container"))
- ReactDOM.render(
- <div>hello world</div>
- ,destination
- )
- </script>
- 二,创建组件,React.createClass({
- render:function()
- {
- return (
- <div>hello world</div>
- )
- }
- })
- 三:组件的传递只能是父传给亲儿子,不能越级直接传孙子;{...this.props}
- <p color={this.props.color} size={this.props.size}></p>
- 等同于:
- <p {...this.props}></p>
- 四:原生接口
- getInitialState:function(){
- //刷api接口的时候,组件还未渲染
- return {
- strikes:,
- }
- }
- 与this.state.strikes是返回的一个对象。
- componentDidMount:function(){
- //组件渲染完成,render渲染之前
- }
- this.setState({strikes:this.state.strikes+})
- 五:样式设计
- render:function(){
- var countStytle={
- color:this.props.color,
- fontSize:"14px",
- padding:"10px",
- backgroundColor:"#EEE"
- }
- return (
- <div className="letter" style={countStyle}>hello world</div>
- )
- }
- 六:react组件的生命周期
- componentWillMount
- componentDidMount
- componentWillUnmount
- componentWillUpdate
- componentDidUpdate
- shouldComponentUpdate
- componentWillReceiveProps
- 组件接口:
- 顺序:
- getDefaultProps:function(){
- //组件加载前被调用
- //返回的是this.props
- }
- getInitialSate:function(){
- //返回的是this.state
- }
- componentWillMount:function(){
- //挂载到指定节点之前,会先调用这个函数
- }
- render:function(){
- return ()
- }
- componentDidMount:function(){
- //组件已经成功滴被浏览器加载了
- }
- ======当setState()后,组件状态对象改变。=========
- =====周期顺序===============
- shouldComponentUpdate:function(newProps,newState){
- //返回true,render
- //返回false,不会render,界面不会改变
- if(newState.count<){
- return true
- }else{
- return false
- }
- }
- componentWillUpdate:function(){
- //
- rerurn;
- }
- render:function(){
- //
- }
- componentDidUpdate:function(){
- //
- }
- React组件的生命周期机制:
- componentWillUnmount
- //节点销毁,从dom拿掉
- 用到调用Dom的api,把这个组件消亡掉:
- ReactDOM.unmountComponentAtNode(destination)
- =====================
- 组件属性更改:调用顺序:
- componentWillReceiveProps:function(newProps){
- //当组件的属性一旦更改,调用这个方法
- return {};
- }
- shuouldComponentUpdate:function(newProps,newState){
- //
- }
- componentWillUpdate
- render 绘制完成。
- componentDidUpdate
略。
React组件,React和生命周期的更多相关文章
- 《React Native 精解与实战》书籍连载「React Native 中的生命周期」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...
- React Native 中 component 生命周期
React Native 中 component 生命周期 转自 csdn 子墨博客 http://blog.csdn.net/ElinaVampire/article/details/518136 ...
- react实战 系列 —— React 的数据流和生命周期
其他章节请看: react实战 系列 数据流和生命周期 如何处理 React 中的数据,组件之间如何通信,数据在 React 中如何流动? 常用的 React 生命周期方法以及开源项目 spug 中使 ...
- Android四大基本组件介绍与生命周期
Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...
- vue生命周期及使用 && 单文件组件下的生命周期
生命周期钩子 这篇文章主要记录与生命周期相关的问题. 之前,我们讲到过生命周期,如下所示: 根据图示我们很容易理解vue的生命周期: js执行到new Vue() 后,即进入vue的beforeCre ...
- Django组件---Django请求生命周期和中间件
Django组件---Django请求生命周期和中间件 Django请求生命周期 说明: client代表浏览器,浏览器的内部为我们封装了socket,Django的WSGI模块也为我们封装了sock ...
- React Native 学习-组件说明和生命周期
组件的详细说明(Component Specifications) 当通过调用 React.createClass() 来创建组件的时候,你应该提供一个包含 render 方法的对象,并且也可以包含其 ...
- react系列(一)JSX语法、组件概念、生命周期介绍
JSX React中,推出了一种新的语法取名为JSX,它给了JS中写HTML标签的能力,不需要加引号.JSX的语法看起来是一种模板,然而它在编译以后,会转成JS语法,只是书写过程中的语法糖. JSX的 ...
- 前端笔记之React(四)生命周期&Virtual DOM和Diff算法&日历组件开发
一.React生命周期 一个组件从出生到消亡,在各个阶段React提供给我们调用的接口,就是生命周期. 生命周期这个东西,必须有项目,才知道他们干嘛的. 1.1 Mouting阶段[装载过程] 这个阶 ...
- React(v16.8.4)生命周期详解
当前版本v16.8.4 装载过程(组件第一次在DOM树中渲染的过程): constructor(常用) -> getInitialState(v16.0已废弃) -> getDefault ...
随机推荐
- wireshark 表达式备忘录
参考资料: https://blog.csdn.net/wojiaopanpan/article/details/69944970 wireshark分两种表达式,一种是捕获表达式,这个是在捕获时用的 ...
- elk单台环境搭建
一.简介1.核心组成ELK由Elasticsearch.Logstash和Kibana三部分组件组成:Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分 ...
- vue---结合elementui做异步数据分页
使用vue+elementui来请求数据做分页: <el-col :span="24" class="toolbar pageBar"> <e ...
- baidu.com直接访问网站,不跳转www.baidu.com
平常最多的需求是将baidu.com指向全域名www.badu.com,但是往往需求是各种各样,这两天就遇到一个反向需求.将baidu.com直接访问网站,而不做跳转. 最近两天在给域名证书续费,但是 ...
- openstack 部署(Q版)-----环境准备篇
一.环境准备 系统:centos7 cinder01 内网:192.168.10.51 外网:172.16.1.51 compute01 内网:192.168.10.52 外网:172.16.1. ...
- Linux中脚本
编辑脚本要注意开头 和 修改脚本的权限 1. 开头 #!/bin/bash 如查看/etc路径下的文件,可以编辑 2. 修改权限 chmod 775 脚本文件.sh 如创建一个脚本(test.sh ...
- XTU 1261 - Roads - [最小割][2017湘潭邀请赛B题(江苏省赛)]
之前在网上搜了一个下午没搜到这道题的题解,然后同时又对着叉姐写的两行字题解看了一个下午: 虽然基本上已经知道了这题的思路,但愣是因为自己代码实现起来太繁复,外加不确定正确性,没敢码…… 但是一道题肝了 ...
- os.stat(filename).st_size 文件信息
os.path.getsize(i) py36\Lib\genericpath.py def getsize(filename): """Return the size ...
- LoadRunner-参数化(添加参数值)
录制完脚本后,想要对脚本重复使用需要对某些值设定为参数,如accounts和password. 1.选中需要参数化的accounts值,点击右键->选择Replace with a parame ...
- 单调栈&单调队列学习笔记!
ummm,,,都是单调系列就都一起学了算了思想应该都差不多呢qwq 其实感觉这俩没有什么可说的鸭QAQ就是维护一个单调的东西,区别在于单调栈是一段进一段出然后单调队列是一段进另一段出?没了 好趴辣重点 ...