浅谈React

1、特点
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…

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值