前言
在我们写 React 项目的时候,我们发现自定义的组件名一定要首字母大写,否则会报错,这是为什么呢?我想针对这个问题发表一些我的浅薄的见解,如果有说的不对或者不充分的地方还望各位大佬指出,谢谢!
JSX语法 向 真实DOM的转换
我们在 React 中都是写的 JSX语法,从 JSX语法 到页面上的 真实DOM大概需要经历以下几个阶段:JSX语法
—> 虚拟DOM(JS对象)
—> 真实DOM
。
因为浏览器是无法识别JSX语法的,因此我们需要通过 babel 对JSX语法进行转义,然后才能生成虚拟DOM对象,而原因就是在这里。我们可以看一下babel是如何转义JSX语法的:
首先,我们发现,babel在进行转义JSX语法时,是调用了 React.createElement() 这个方法,这个方法需要接收三个参数:type, config, children。第一个