美文网首页
组件的 state 和 setState

组件的 state 和 setState

作者: 夜息白鸽 | 来源:发表于2017-10-23 15:35 被阅读0次

在react中通过组件状态的改变来渲染组件样式 是比较重要模块。
举个例子,一个组件的显示形态是可以由它数据状态和配置参数决定的。一个组件可以拥有自己的状态,就像一个点赞按钮,可以有“已点赞”和“未点赞”状态,并且可以在这两种状态之间进行切换。而,React.js 的 state 就是用来存储这种可变化的状态的。
代码:

import React, { Component } from 'react'
import ReactDOM from 'react-dom'
import './index.css'

class LikeButton extends Component {
  constructor () {
    super()
    this.state = { isLiked: false }
  }

  handleClickOnLikeButton () {
    this.setState({
      isLiked: !this.state.isLiked
    })
  }

  render () {
    return (
      <button onClick={this.handleClickOnLikeButton.bind(this)}>
        {this.state.isLiked ? '取消' : '点赞'} 👍
      </button>
    )
  }
}

首先看到的是isLiked为false;在点击时调用setState方法,改变成true重新渲染页面。
setState 方法由父类 Component 所提供。当我们调用这个函数的时候,React.js 会更新组件的状态 state ,并且重新调用 render 方法,然后再把 render 方法所渲染的最新的内容显示到页面上。

相关文章

网友评论

      本文标题:组件的 state 和 setState

      本文链接:https://www.haomeiwen.com/subject/dfkauxtx.html