Hello React

Hello React

学习react目的

为了更好的掌握JavaScript这门语言,提高JavaScript的熟练度,探索与vue不同的开发方式。

Start

  • react有三大主要依赖:react、react-dom、babel,在不使用脚手架开发的时候,需要用户先引入这三个依赖
    <!-- 引入react核心库 -->
    <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <!-- 引入react-dom -->
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> 
    <!-- 使用jsx -->
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
  • react当中使用的是jsx语法,与JavaScript语法区别就是,在jsx当中是可以写html标签的,因此,很多东西我们就可以直接使用jsx来实现,比如组件封装等。使用jsx开发,需要在script标签的type类型更改为text/babel

        <script type="text/babel"></script>
    

创建虚拟DOM

  • 在jsx当中创建的DOM元素,会被react使用render函数来转换为虚拟DOM,然后通过diff算法和页面上的DOM进行比对,然后找出更改的地方,然后对页面上的DOM元素进行更新。

    <script type="text/babel">
        //创建一个DOM元素,然后将它赋值给变量VDOM
      const VDOM = <h2>Hello React</h2>;
      //使用ReactDOM.render()来挂载到页面上
      //document.getElementById('test'),获取页面上id为test的属性
      ReactDOM.render(VDom,document.getElementById('test'))
    </script>
    
  • 使用JavaScript来创建虚拟DOM

   <script type="text/javascript">
        // const VDom = <h1>Hello,React</h1>/*此处一定不能写引号,因为不是字符串*/
        // const VDOM = React.createElement("标签名",'标签属性','标签内容')
        const VDOM = React.createElement('h1',{id:'title'},'ReactDom')
        // 2.渲染虚拟DOM到页面上
        ReactDOM.render(VDOM,document.getElementById('test'))
    </script>

使用JavaScript来创建虚拟DOM要借助react内置的createElement()来进行创建,这也是react创建虚拟DOM的本质,在jsx当中,每一句html都会隐式的转换成这样

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容