react学习--- 初识别react

React是Facebook推出的一个JavaScript库

一、react三大特性

1、组件

基于react的项目一切都基于组件,各个组件有各自的状态,状态变更时,会自动重新渲染组件。组件特性也是Web前端发展的趋势。

一个Hello.jsx组件

// Hello.jsx
import React from 'react';
export default Class Helloextends React.Component {
    render() {
        return (
          <div  className="Hello-component">
            <h2>Hi, I am {this.props.name}</h2>
          </div>
        )
    }
}

其他组件中,可以像HTML标签一样引用它:

import Hello from './hello';

export default function(props) {
    return (
      <Hello name="world"/>
    )
}

 

2、jsx

上面的render方法中,有一种直接把HTML嵌套在JS中的写法,被称作JSX。这种语法结合了JavaScript和HTML的优点,即可以像平常一样使用HTML,也可以在里面嵌套JavaScript语法,运行时,Babel等工具会将JSX编译成JavaScript语法。

3、virtual DOM

React的设计中,开发者基本上无需操纵实际的DOM节点,每个React组件都是用Virtual DOM渲染的,可以看成是一种用JavaScript实现的内存DOM抽象。React在Virtual DOM上实现了一个Diff算法,渲染组件时,会高效的找出变更的节点,刷新到实际DOM上。

二、组件的prop和state

prop:组件对外的接口(使用组件的时候需要传入的数据父组件到子组件之间的通信)子组件通过this.props.name使用

state:组件内部状态 

react是单项数据流,那么子组件到父组件之间是如何通信的呢?通过callback

同级组件之间是如何通信的呢?

同级组件之间的通信还是需要通过父组件作为中介,或者使用redux或flux

 

转载于:https://www.cnblogs.com/running1/p/7565399.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值