当前位置:   article > 正文

【React】有状态和无状态组件 、states数据状态 和 SetState( )修改状态_react 类组件修改state状态

react 类组件修改state状态

一.有状态和无状态组件 

函数组件叫做 无状态组件 , 类组件叫做 有状态组件

状态 state是数据

函数组件没有自己的状态 只负责数据展示

类组件有自己的状态,负责更新 和 让页面动起来

二.states数据状态 和 SetState( )修改状态

(1)state

  1. class App extends React.Component {
  2. // 方法一 .定义状态数据
  3. constructor () {
  4. super()
  5. this.state = {
  6. count: '我是第一种方式'
  7. }
  8. }
  9. // 方法二 .定义状态数据 简洁方法 --推荐使用第二种
  10. state = {
  11. count: '我是第二种方式'
  12. }
  13. render () {
  14. return <h1>状态组件:{this.state.count}</h1>
  15. }
  16. }

说明: 上面有两种 state的方式 这里推荐使用第二种 简洁方法

描述:

状态state,是组件内部的私有数据 只能在组件内部使用

state的值是对象 表示一个组件内可以有多个数据

通过 this.state.xxx 来获取数据

(2)SetState( ) 修改状态

  1. class App extends React.Component {
  2. state = {
  3. count: '我是第二种方式'
  4. }
  5. render () {
  6. return (
  7. <h1>
  8. <p>我是state内值:{this.state.count};</p>
  9. <button
  10. onClick={() => {
  11. this.setState({
  12. count: (this.state.count = '我已经被setState修改')
  13. })
  14. }}
  15. >
  16. 点我修改state内值
  17. </button>
  18. </h1>
  19. )
  20. }
  21. }

描述:

通过this.setState({ state内属性 :this.state.xxx = '要修改的值' })

setState( ) 作用: 1. 修改state 2.更新UI

React底层会有监听 一旦调用了 setState导致了数据的变化 就会重新调用一次 render方法 重新渲染当前组件



 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/256911
推荐阅读
相关标签
  

闽ICP备14008679号