码迷,mamicode.com
首页 > 其他好文 > 详细

react

时间:2017-11-25 22:40:52      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:分享图片   配置   package   将不   size   自己   项目   bsp   www.   

不能react两大进步:组件的概念,虚拟dom的思想

使用 create-react-app 快速构建 React 开发环境

create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境。

create-react-app 自动创建的项目是基于 Webpack + ES6 。

执行以下命令创建项目:

 cnpm install -g create-react-app
 create-react-app my-app
 cd my-app/
 npm start
无状态组件
技术分享图片

tip:react中组件必须以大写字母打头

有状态组价

技术分享图片

tips: this.setState({})可以不传参(其中{}不能省略),同样会重新渲染dom,如

技术分享图片

 当然也可以定义某些值,state会收集所有的变化并进行重新渲染(执行render),其他值不会更改,如

技术分享图片

tips:bind的原理是重新生成一个函数并绑定,因此在多次使用时会影响性能,,可以使用如下

技术分享图片

调用:技术分享图片

tips:bom中自带dataset,可以通过在元素上通过data-进行赋值和传递

技术分享图片

 tips:占位图-http://placehold.it/100x600

 

 

 

react生命周期?http://www.jianshu.com/p/4784216b8194

 技术分享图片

技术分享图片

 

tips:shouldComponentUpdate()需要返回Boolean值,若为false则不进行更新操作(后续操作都将不再执行),其作用是为了优化效率,即,操作(this.setState({}))不涉及dom的 操作则返回false不进行重新渲染

componentWillReceiveProps在组件传值变化时才执行

React.createClass已废弃,使用es6中class代替

getINitialState已废弃,使用es6中construct代替

为什么render里只能有一个子节点?

这和react虚拟DOM Diff算法(https://www.kancloud.cn/kancloud/react-in-depth/67091)有关,虚拟dom或Web界面都是由DOM树构成的,因此只能有一个最终的根节点。

React创建组件的三种方式及其区别?

https://www.cnblogs.com/wonyun/p/5930333.html

什么叫做组件化开发?(链接:https://www.zhihu.com/question/29735633/answer/90872147)

  • 组件是对逻辑的封装,不限于图形元素。即我们可以把if做成组件、把一个倒计时做成组件、把一段动画做成组件、把路由做成组件、把数据架构做成组件,而这些并不能称为控件
  • 组件具备单个可移植性,即“随加载随用”,不需要为其准备复杂的基础条件(如引入样式、引入框架等)。然而这一点现有那些所谓组件库做得并不好,技术上也不大现实
  • 组件是声明式定义的,而非命令式。这个不想多说,很大程度上是自己主观的一个想法

如何展开react-cli,添加自己的配置?

 执行命令后

create-react-app [项目名]

会搭建好react脚手架

执行package中已经定义的命令

npm run eject

tips:这个命令不可逆

react

标签:分享图片   配置   package   将不   size   自己   项目   bsp   www.   

原文地址:http://www.cnblogs.com/fanlinqiang/p/7831914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!