第一个react程序

一、 基本环境

   1、启动http服务器

      根据本地的Python版本不同,启动http服务器需要不同的指令,比如,我的Python是2.7版本,此时执行如下指令:

       

      启动后,在浏览器中访问:  localhost.8000,即可以访问该http服务器;

   2、编写react程序

       1)在自己的目录下,新建文件:   index.html, 文件中,内容如下:

        

        如上, react的代码,都会写在标签<script></script>标签内;此时打开index.html ,可以看到title部分为『Hello  React』;

     2)引入react框架代码到源程序中:具体如下:

        

        

        一方面,这个框架代码,其实可以直接下载到本地,然后直接引用本地的文件,这里,我直接使用的官方提供的 CDN 地址;

       具体介绍:  实例中,我们引入了三个库:  react.min.js、 react-dom.min.js、 babel.min.js;

             react.min.js: React的核心库;

             react-dom.min.js:  提供与DOM相关的功能;

             babel.min.js:  babel内嵌了对jsx的支持;通过将 Babel和 babel-sublime 包(package)一同使用可以让源码的语法渲染上升到一个全新的水平;

       另一方面,需要在body中,增加『text/babel』,这个是固定的;

     3)展现内容

       任何需要展示在界面上的东西,都需要依赖react提供的『render』函数; 这里把内容添加render函数,调用及其得到的结果如下:

         

       

虽然可以正常返回,但是,返回的结果中,有警告提示,提示我们上面那么调用,并不是合理的;

原因分析:

    a)  render函数的调用,需要传入两个参数,如上所示:

          第一个参数,是jsx对象,jsx对象会把需要展示在界面上的内容进行组织并表示出来;之后react会将jsx转换为一些createElement调用,而createElement会在整个浏览器的DOM模型中添加DOM元素,来改变DOM模型,从而达到浏览器在渲染上做出响应改变的效果;

        第二个参数,是这个jsx所对应的DOM模型所要挂载的父节点,这里我们挂载到了body节点; 但是,正如警告所示,直接讲dom模型挂载到body节点,是有问题的; 【具体的内部原因,稍后考究】

  b) 找到原因后,我们做一个修改;

        这里采取,定义一个div节点,然后把jsx的DOM元素挂在到定义的div上即可;具体如下:

        

再次运行,查看结果,之前的警告已经没有了;

  

  4) 丰富界面

     在header中,通过style标签,增加css代码,这里分别对jsx对应的dom所挂在的container做了修饰,对h1也做了修饰,具体修改如下:

         

调用后的结果如下:

未完待续。。。            

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章