react系列之组件状态

组件状态

说明:能够为组件添加状态和修改状态的值

在react hook出来之前,函数式组件是没有自己的状态的

 

1. 初始化状态

  • 通过class的实例属性state来初始化

  • state的值是一个对象结构,表示一个组件可以有多个数据状态

    class Counter extends React.Component {
      // 初始化状态
      state = {
        count: 0
      }
      render() {
        return <button>计数器</button>
      }
    }

2. 读取状态

  • 通过this.state来获取状态

    class Counter extends React.Component {
      // 初始化状态
      state = {
        count: 0
      }
      render() {
        // 读取状态
        return <button>计数器{this.state.count}</button>
      }
    }

 

3. 修改状态

  • 语法

    this.setState({ 要修改的部分数据 })

  • setState方法作用

    1. 修改state中的数据状态
    2. 更新UI
  • 思想

    ​ 数据驱动视图,也就是只要修改数据状态,那么页面就会自动刷新,无需手动操作dom

  • 注意事项

    ​ 不要直接修改state中的值,必须通过setState方法进行修改

class Counter extends React.Component {
  // 定义数据
  state = {
    count: 0
  }
  // 定义修改数据的方法
  setCount = () => {
    this.setState({
      count: this.state.count + 1
    })
  }
  // 使用数据 并绑定事件
  render () {
    return <button onClick={this.setCount}>{this.state.count}</button>
  }

 

 

感谢各位点赞、收藏、评论、关注支持一下呗 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

船长在船上

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值