0%

React源码剖析(一)

前言

待补充

React.createElement

当我们用JSX编写react代码的时候,代码会经过Babel处理后转换为React.createElement的特殊形式,例如

1
2
3
4
ReactDOM.render(
<h1 style={{"color":"blue"}}>hello world</h1>,
document.getElementById('root')
);

处理之后,就变成了
1
2
3
4
5
6
7
8
ReactDOM.render(
React.createElement(
'h1',
{ style: { "color": "blue" } },
'hello world'
),
document.getElementById('root')
);

我们来看看React源代码:
1
2
3
4
5
6
7
// 文件位置:src/isomorphic/React.js
var ReactElement = require('ReactElement');
var createElement = ReactElement.createElement;
var React = {
createElement: createElement,
}
module.exports = React;