React的学习(1)

开始学习react,多会一个,机会越多,加油!

流程:
创建虚拟DOM对象
渲染虚拟DOM对象ReactDOM.render
第一次接触,这是两种写法
在这里插入图片描述
在这里插入图片描述

组件

在这里插入图片描述
这个过程工厂函数组件和class继承方法一个被调用了,一个new生成了实例,实例对象的原型中有render方法
在这里插入图片描述
总结ReactDOM.render()渲染组件标签的基本流程
1.React内部去创建组件实例对象
2.得到包含的虚拟DOM并解析成真正的DOM
3.插入到指定的页面元素内部

component_props

1.每个组件对象都会有props属性
2.组件标签的所有属性都保存在props中
3.内部读取某个属性值:this.props.name
4.通过标签属性从外向内传递数据(只读)
5.因为组件你要给别人用,所以可以对props中的属性值进行类型限制和必要性限制

//1. 定义组件类
  class Person extends React.Component {
    render() {
      console.log(this)
      return (
        <ul>
          <li>姓名: {this.props.name}</li>
          <li>性别: {this.props.sex}</li>
          <li>年龄: {this.props.age}</li>
        </ul>
      )
    }
  }
  // 对标签属性进行限制
  Person.propTypes = {
    name: PropTypes.string.isRequired,//必须要传
    sex: PropTypes.string,
    age: PropTypes.number
  }
  // 指定属性的默认值
  Person.defaultProps = {
    sex: '男',
    age: 18
  }

  //2. 渲染组件标签
  const person = {
    name: 'Tom',
    sex: '女',
    age: 18
  }
  ReactDOM.render(<Person {...person}/>, document.getElementById('example1'))
  const person2 = {
    myName: 'JACK',
    age: 17
  }
  ReactDOM.render(<Person name={person2.myName} age={person2.age}/>,
    document.getElementById('example2'))

因为要求外面必须嵌套一层,不能直接写,所以用flex布局解决办法就是套层fragment,当然需要提前引入
在这里插入图片描述

嵌套组件

在这里插入图片描述

refs属性

用来操作真实DOM
内置方法中的this指向的都是实例对象
自定义方法中的this指向的都是null
在这里插入图片描述
这里面在定义所有的事件方法必须由实例对象来调用,也就是必须this.什么

state属性

称为”状态机”,通过更新组建的状态值来更新对应的页面显示(重新渲染)
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值