React 思维索引
关于分析React源码的文章已经有比较多,我就不献丑了。
根据分析的结果把React的大致流程和思维导图做了一点总结,图片如下:
源码在: https://github.com/laryosbert/mini-react.git
渲染过程:

更新过程:

内部关系思维导图:

小bug:在render函数中使用map时,return函数(无状态)组件时,return后的‘(’必须紧跟在rentrun关键词后同一行。
 render() {
        return (
            <div>
                {
                    this.state.addrItems.map(item=>{
                        // '('须与return同一行
                        return (
                        <div>{item.address}</div>
                        );
                    })
                }
            </div>
        );
    }
refs:
https://juejin.im/post/5983dfbcf265da3e2f7f32de
https://github.com/purplebamboo/little-reactjs
React 思维索引的更多相关文章
- AngularJS 1.x 思维索引
		
我们在这里不讨论Angular2和Angular4,因为其完全重写,其实已经不叫AngularJS了. AngularJS的缺陷: 性能问题:通过检查脏值进行数据更新,当数据不断增加时,检查的效率就不 ...
 - Facebook React完全解析
		
2004年,对于前端社区来说,是里程碑式的一年.Gmail横空出世,它带来基于前端渲染的原生应用级别的体验,相对于之前的服务端渲染网页可谓提升了一个时代,触动了用户的G点.自此,前端渲染的网站成为无数 ...
 - 探索React生态圈
		
原文地址:http://www.csdn.net/article/2015-08-04/2825370-react 2004年,对于前端社区来说,是里程碑式的一年.Gmail横空出世,它带来基于前端渲 ...
 - 【优质】React的学习资源
		
React的学习资源 github 地址: https://github.com/LeuisKen/react-collection https://github.com/reactnativecn/ ...
 - React Hooks究竟是什么呢?
		
摘要: React Hooks原理解析. 原文:快速了解 React Hooks 原理 译者:前端小智 我们大部分 React 类组件可以保存状态,而函数组件不能? 并且类组件具有生命周期,而函数组件 ...
 - ReactEurope Conf 参会感想
		
React 带来的革命性创新是前端世界过去几年最激动人心的变化.自从接触 React 以来,我深信 React 会改变客户端开发者(包括前端.iOS 和 Android)的开发体验.这次在巴黎举办的 ...
 - 使用 AngularJS 和 ReactJS 的经验
		
1. React 福音 当我们的团队开始寻找一个合适的前端框架的时候,我们考虑了许多选择,最后留下两个选项 —— Angular 和 React. Angular 是目前为止最成熟的方案:它拥有一个庞 ...
 - ECMA6 New Features
		
花了一些时间把ECMA6的新特性进行了回顾,给自己建立了思维索引,大部分内容借鉴了阮一峰大神的博客. refers: http://es6.ruanyifeng.com/#docs/arraybuff ...
 - React 16.x 新特性思维导图
		
React 16版本相对于以前的版本做了很大的改动,下面是我整理的React 16.x 新特性的思维导图文件,欢迎围观和指导:
 
随机推荐
- [Leetcode]27. 移除元素
			
题目描述: ++难度:简单++ 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 ...
 - Springboot 定时任务,service层无法注入问题详细解决
			
开发一个微信小程序后台,建立websocket 长连接,需要后台开启定时任务, 定时任务定时查库,相应前台 但是具体执行过程中一直在报空指针错误,最后定位到service 为空,无法调用其相关的方法导 ...
 - 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····
			
1.使用flask+SQL语句实现**#@&&(懒得再扣一遍题目) 上代码: @app.route('/register', methods=['POST', 'GET']) def ...
 - 用TSNE进行数据降维并展示聚类结果
			
TSNE提供了一种有效的数据降维方式,让我们可以在2维或3维的空间中展示聚类结果. # -*- coding: utf-8 -*- from __future__ import unicode_lit ...
 - 阿里云上rabbitmq安装
			
环境:CentOS Linux release 7.4.1708 (Core) rabbitmq-server-3.7.13-1.el7.noarch.rpm 阿里云服务器 1.安装elang ...
 - jQuery-3.事件篇---自定义事件
			
jQuery自定义事件之trigger事件 众所周知类似于mousedown.click.keydown等等这类型的事件都是浏览器提供的,通俗叫原生事件,这类型的事件是需要有交互行为才能被触发. 在j ...
 - PowerDesigner生成PowerBuilder扩展属性~
			
PowerDesigner版本:11.0.0.1363 步骤: 一.打开PowerDesigner新建模型->物理数据模型(Physical Data Model). 二.在常规选项 DBM ...
 - docker1
			
Docker笔记 1, https://gitlab-demo.com Docker官网:https://docs.docker.com/install/overview/ 有两个版本: Docker ...
 - oracle追加表空间
			
----查询表空间使用情况--- SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)&q ...
 - [USACO07OPEN]便宜的回文Cheapest Palindrome
			
字串S长M,由N个小写字母构成.欲通过增删字母将其变为回文串,增删特定字母花费不同,求最小花费. 题目描述见上 显然 这是一道区间DP 从两头DP,枚举长度啥的很套 ...