react是一个视图层框架
官网地址:http://facebook.github.io/react/ 或 https://reactjs.org/

一、高性能

React 通过对 DOM 的模拟(Virtual DOM),并配合 diff 算法,最大限度地减少与 DOM 的交互,从而提升性能。

  • diff算法过程:
    react操作虚拟dom,操作过程中会进行diff算法,对比VirtualDOM的初始状态和结束状态,过滤掉一些没必要的节点操作,然后把结束状态的虚拟DOM赋值给真实DOM。这过程提高了性能

二、组件化开发

通过 React 构建组件,使得代码更加容易得到复用,能够高效率的应用在大项目的开发中。

三、单向相应的数据流

React 中的数据是单向自顶向下传递的,父组件数据的更新会自动传递到子组件,但子组件的数据更新不会影响到父组件,也不能在子组件修改父组件传入的数据

四、JSX扩展

JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。

JSX的遵循规则

  • 因为 Javascript 代码与 JSX 代码并不兼容,凡是使用 JSX 的 script 标签 都需要加上 type=“text/babel”
    (如果是使用webpack配置的环境就不用)
  • 在 jsx 代码中,同为 js 关键字的 html 属性不能直接使用:
  • class -> className,
  • for -> htmlFor
  • 属性使用驼峰
  • tabindex -> tabIndex
  • onkeydown -> onKeyDown
  • autofocus -> autoFocus
  • 必须要有结束标签

< input type=“text” />
< img src=“logo.png” />

  • style 必须为对象,又因为对象为js,所以必须对象必须写在{}里面且css 的属性必须为驼峰写法

< div style={{ backgroundColor :"#f60"}}
例子:
const username=‘laoxie’;
const style={color:’#58bc58’}
< h2 className="title"data-name={username}style={style}>

  • 在JSX中使用js必须写在花括号{}内,不允许出现 var,let,const 等关键字
  • 写在JSX里面的代码,如果想要注释,需要先把它变成对象,然后就可以注释了
    使用 js 语法注释(如{/注释内容/},//注释内容)
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐