美文网首页
React初步理解(适合新手理解)

React初步理解(适合新手理解)

作者: 立觉 | 来源:发表于2017-03-19 19:34 被阅读0次
timg.jpg

最近参与一个项目中,运用了react.js来开发,对于用惯DOM操作的前端来说,改变思想来控制所谓的虚拟DOM确实有些不适应。所以借此机会,自己简单的做一个小结,如果遇到类似问题,可以参考讨论一下。(目前只考虑浏览器渲染,服务器端之后会总结一下)

个人感觉到的特色

  • 引入了虚拟DOM的概念,安插在JavaScript逻辑(jsx)和实际的DOM之间。这一概念提高了Web性能。在UI渲染过程中,React通过在虚拟DOM中的微操作来实对现实际DOM的局部更新。
  • react其实只有所谓的view层,所以库很轻量。但是这样也意味着自己变异代码的更多可能性。但是数据流我还是使用了官方推荐的redux做处理。
  • 更方便的模块化。配合es6的class写法,以及node的模块化写法,能把一个一个区块变成一个一个可以复用的组件,这样也要求我们在书写逻辑之前,必须根据项目需求,业务逻辑,提前预留好后期可能需要的功能。
  • 强大的生命周期,这样在报错后更容易找到问题所在。
  • 学习成本也不是很高。

适用场景

由于react的诞生就是feacebook为了解决前端多交互的情况下出现的。所以我也感觉react适合多用户交互,多数据流变更的项目中。

react必须了解的地方

1.生命周期

生命周期总体划分为初始化阶段(Mounting),运行中阶段(Updating),销毁阶段(Unmounting)

Mounting
getDefaultProps:组件见props共享引用。
getInitialState:初始化每个组件自己特有的状态。(就是初始state)
conponentWillMount:render之前和初始之间修改状态的过程。
render:将虚拟DOM渲染到浏览器上,只能访问this.props, this.state(es6 class写法中,this.后加 function 还可以调用类内方法。)但是这个状态内最好不要修改状态,否则容易陷入死循环。
conponentDidMount:成功render并渲染真实DOM后触发,可以修改DOM元素。

Updating
componentWillReceiveProps:当组件修改属性触发,这个状态下可以修改属性和状态。(componentWillReceiveProps(nextProps){/修改状态逻辑/})
shouldComponentUpdate:只有true和false选择,false会阻止render刷新。
render:同上
componentDidUpdate:可以修改DOM

Unmounting
componentWillUn:在删除组件之前进行相关清理操作,比如计时器和监听器等。

2.props和state

简单的将,prop就是组件之间传递数据所用的传递参数,而state是本组件改变数据用的方式。而且react页面刷新机制就是比较前后数据发生的变化,其实就是比较state是否发生改变。所以想让页面根据数据发生改变,就要理解state和prop。

3.控制真实DOM节点

当然,如果想要控制DOM元素怎么样?react也提供了一种方式--ref属性。
例子:
DOM中写法

<input type="text" ref="myInput" />

js应用

this.refs.myInput.focus();

先简单写到这里,之后再慢慢补充。

相关文章

  • React初步理解(适合新手理解)

    最近参与一个项目中,运用了react.js来开发,对于用惯DOM操作的前端来说,改变思想来控制所谓的虚拟DOM确实...

  • 初步理解React Fiber

    Fiber是React 16中新的协调器(Reconciler) 之前的协调器 Stack Reconciler见...

  • 用React+webpack实现最简单的TodoList

    本篇文章会讲解如何创建一个小的TodoList的例子,真正适合react新手去理解,每次搜别人做的例子的功能比...

  • 英语一分钟【第1部】English in a Minute 04

    English in a minute 非常简单的练习资料,适合所有朋友,用来提高阅读理解能力、听力理解能力、初步...

  • React 经典案例--TodoList

    上次写了一个React生命周期详解,给新手看还是不是特别容易理解(其实我也是新手),这边再做一个React的tod...

  • 带小白学react之组件通信

    本文章依然是一篇react学习入门文章,适合对react理解混乱的你。稍微接触过react的同学都知道react有...

  • 分享《一小时漫画基金实在法》

    这本书,适合新手看。漫画的,比较好理解。对投资没有理解透彻的人,来说很适合拿来看。 这本,书没有深奥的投资策略,投...

  • aqs初步理解

    1.介绍 AQS,AbstractQueuedSynchronizer,即队列同步器。它是构建锁或者其他同步组件的...

  • 初步理解Crontab

    1.含义 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入...

  • Redux初步理解

    Redux笔记 参考理解 Redux 中文文档Redux 阮一峰 严格的单向数据流是Rduex设计核心。 Redu...

网友评论

      本文标题:React初步理解(适合新手理解)

      本文链接:https://www.haomeiwen.com/subject/aaxenttx.html