• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >心得技巧 > 浅谈React

浅谈React

作者:sinat_27180563的博客 字体:[增加 减小] 来源:互联网 时间:2017-08-26

本文主要包含React等相关知识,sinat_27180563的博客希望在学习及工作中可以帮助到您

React,Facebook的一个开源JS框架,专注于View层,不包括数据访问层或者那种Hash路由(不过React有插件支持);与Angularjs,Emberjs等大而全的框架不同,React专注的中心是Component,即组件,React认为一切页面元素都可以抽象成组件,比如一个表单,或者表单中的某一项。

 

  • 组件模式:可重用组件
  • 虚拟DOM:React不直接操作DOM,将DOM结构存储在内存中,然后同render()的返回内容进行比较,计算出需要改动的地方,最后才反映到真实DOM中。
  • 移动端支持
  • JSX语法:JS+HTML
class Clock extends React.Component {
  render() {
    return (
      <div>
        <h1>Hello, world!</h1>
      </div>
    );
  }
}

2、技术点

1)prop:描述组建的不可变属性,一般render调用组件时,作为组件的“参数”,传入该组件。

2)state:描述组件的可变属性,当state发生变化时,会触发render函数,对UI进行重绘。

3)refs:

4)常用的生命周期函数

组件加载前调用

componentWillMount() {
}

组件加载后调用

componentDidMount(){
}

组件接受新的参数时调用

componentWillReceiveProps(nextProps){
}

5)条件判断
逻辑与:&&
条件表达式:a?b:c

6)Lamda表达式
语法:functionName = (参数) => {…}
可避免this问题

3、react-redux
1)为什么要用Redux?

  • 大量无规律的交互和异步操作导致了前端的复杂性,这些操作的结果都是改变了当前View的状态,随着代码量越来越大,我们要维护的状态也越来越多。
  • Redux试图让每个State变化都是可预测的,将应用中所有的动作与状态都统一管理,让一切有据可循。

2)单向数据流

  • 首先,用户(通过View)发出Action,发出方式就用到了dispatch方法。
  • 然后,Store自动调用Reducer,并且传入两个参数:当前State和收到的Action,Reducer会返回NewState
  • State一旦有变化,Store就会调用监听函数,来更新View。

架构层面上讲,我们希望UI跟数据和逻辑分离,UI只负责渲染,数据和逻辑交由其它部分处理,从数据流向方面来说, 单向数据流确保了整个流程清晰。

4、react-router
就前端而言,路由用于页面间的跳转。当url发生变化时,路由相应的做出一些相应,从而来保证目前的url和要展示的界面一一对应好。

当前页面携带参数:browseHistory.push(path,args1,args2…)
跳转后页面接收参数:this.location.props.args1…

您可能想查找下面的文章:

相关文章

  • 2018-08-23可自由编辑!一份30页的坚果Pro情怀PPT模板
  • 2018-08-23用一个实战案例,帮你学会用数据验证产品设计
  • 2017-09-11git保管代码常用操作
  • 2018-08-23涨姿势!全球顶尖的设计团队都有哪些设计原则?
  • 2018-08-23实战经验!滴滴专车会员项目背后的设计经验总结
  • 2017-08-06响应式布局总结(推荐)
  • 2017-08-06为什么要少用Iframe的几个原因分析
  • 2018-08-23会员中心如何设计,用户才会买单?
  • 2018-08-23【2018UCAN】“YUAN”——设计的自我蜕变与重塑,等你来!
  • 2018-08-23如何开好需求评审会?36氪产品总监告诉你!

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 用户体验和可用性之间的联系和差异,你都知道吗?
    • 为什么你的动效特别酷炫,但一直不能落地?(附解决思路)
    • 查遗补漏!网页设计过程中需要注意的12个常见问题
    • 想设计出吸引视线的标题?来学这些好用的文字组合技巧
    • UI 设计新人容易犯的7个细节错误
    • Web 前端开发经验小结
    • 交互基础小课堂!如何利用「行为模型」让用户行动起来?
    • 学会双重影像这3个玩法,让你的设计更有冲击力!
    • 文案没有说服力?四招写出逻辑性强的文案
    • 一个针对女性用户的照片编辑软件,要如何设计UI?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有