• 笔记----深入浅出《React和Redux》第一章


    1、概念与关系:

        (1)React是一个JavaScript语言的工具库,React本身并不依赖于Node.js,但是开发中用到的诸多工具需要Nodejs的支持。

        (2)安装Node.js的同时也就安装了npm,npm是Node.js的安装包管理工具。

        (3)Facebook提供了快速配置React应用环境的工具( 通过npm 进行安装 ):   create-react-app

          步骤一:

          在确认 Node.js 和 npm 安装好之后,命令行中执行下面的命令安装全局  create-react-app: (在MAC上输入这个命令可能要加上 sudo 获取权限)

          

            步骤二: 用cd命令 到需要创建项目的目录下创建项目

                      

          最后

          

            步骤三:npm start打开本地服务器,端口3000

                                      

          初始化目录

                             

    2、编写计算点击数组件 

                     

                           

      

                       

          注意:

          (1)在从"react"中引入React,是为了支持JSX语法

          (2)在从"react"中引入Component,因为Component是所有组件的基类,提供很多组件共有的功能

          (3)JSX中使用的元素不仅仅是HTML元素,还可以是React组件(React组件元素的首字母必须要大写

          (4)JSX的onClick事件处理方式相比HTML的onclick方式 ,优点如下:

                      i.  onclick添加的事件处理函数是在全局环境下执行的,容易污染全局环境,

                              而JSX的onClick上挂载的函数都控制在组件内

                          ii.  当很多个DOM元素添加onclick事件,会影响网页性能

                              而JSX的onClick,并没有产生直接使用onclick的HTML,使用了事件委托的方式处理点击事件,无论有多少个onClick出现,最后都只是在DOM树上添加了一个事件处理函

                              数,挂载最顶层的DOM节点上。所有点击事件都被这个事件处理函数捕获,然后根据具体组件分配具体函数(优化了性能)

            iii.在删除事件对应的DOM元素而忘记删除对应的事件处理函数,则还会引发内存泄漏问题

             而JSX处于生命周期unmount时,会自动清理事件处理函数(避免了内存泄漏问题

    3、添加样式

                        

                       

     4、React的“响应式编程”思想:

      UI = render(data)

      其中,

               render() 是“纯函数(输出只由参数决定,不依赖外部变量,并不会修改传入的引用类型参数的值)

         UI的变化只取决与data的变化

     5、Virtual DOM概念:

      Virtual DOM是存在于JS空间的树状结构,每次渲染React组件时,都会和上一次的Virtual DOM进行对比,最后只改变有差异部分

  • 相关阅读:
    流程图如何画
    flex布局
    css函数
    常用的Array相关的属性和方法
    判断一个字符串中出现次数最多的字符,统计这个次数
    css溢出滚动条及去除滚动条的方法
    vue生命周期
    css中添加屏幕自适应方法(rem)
    vue-cli中配置屏幕自适应(px2rem)
    关于解决项目运行时出现的缓存问题
  • 原文地址:https://www.cnblogs.com/qianbin/p/10143454.html
Copyright © 2020-2023  润新知