![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
ivanfor666
虽是一只小鸟,玩的却是整个天空。
展开
-
ReactDom.render 源码
function render(element, container, callback) { if (!isValidContainer(container)) { { throw Error( "Target container is not a DOM element." ); } } { var isModernRoot = isContainerMarkedAsRoot(container) && container._react.原创 2021-07-27 23:25:19 · 771 阅读 · 0 评论 -
react diff 算法,简单可以用8个字总结
react diff 算法,简单可以用8个字总结:** 同层比较,key值区分 ** React 和 Vue 做的假设是: 检测VDOM的变化只发生在同一层 检测VDOM的变化依赖于用户指定的key 注意: 1.如果变化发生在不同层。 2.如果同样的元素用户指定了不同的key。 3.如果不同元素用户指定同样的key。 React 和Vue都不会检测到,就会发生莫名其妙的问题。 但是React 认为, 前端碰到上面的第一种情况概率很小,第二种情况又可以通过提示用户,让用户去解决,因此 这个取舍是值得的。 没原创 2021-05-28 08:16:29 · 104 阅读 · 0 评论 -
探究react.render开篇
继上篇的node环境调试源码教程, const React = require("react"); const ReactDom = require("react-dom") shi原创 2021-06-19 12:22:04 · 50 阅读 · 0 评论 -
react.render 将节点插入容器中(div#root)
function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { var tag = node.tag; var isHost = tag === HostComponent || tag === HostText; if (isHost || enableFundamentalAPI ) { var stateNode = isHost ? node.stateNode : node.stateNod...原创 2021-07-29 21:57:49 · 482 阅读 · 0 评论