文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

详解react中的state的简写方式

2024-04-02 19:55

关注

前言

什么是state

我们都说React是一个状态机,体现是什么地方呢,就是体现在state上,通过与用户的交互,实现不同的状态,然后去渲染UI,这样就让用户的数据和界面保持一致了。state是组件的私有属性。

在React中,更新组件的state,结果就会重新渲染用户界面(不需要操作DOM),一句话就是说,用户的界面会随着状态的改变而改变。

PS: state 只能在本组件中去初始化,并且 state 只能被本组件去修改和仿问,不能被外部仿问和修改,所以也可以说,state 是组件私有的。

下面介绍下react的state的简写方式吧。

state是react中用来初始化的。this.state 应该被视为一个组件的私有属性,我们的react的state的写法方式式有两种的一种是我们在官网上看到的用constructor(构造器)


 constructor(props) {
    super(props);
    this.state = {
      value: null,
    };
  }

但是在类组件中在使用state时 类会继承了React.Component


class Appt extends React.Component{
         //我们定义在这里的state就和上面的方法是一样的
         //	类中可以直接写赋值语句
              state={aff:1}
 
             render(){  
                 console.log(this);
                 //这个this就继承了React.Component
                 // 这里的this是当前组件的实例对象
                 return (
                     <div>
                       123
                     </div>
                 )
             }
       }

       ReactDOM.render(
           <Appt/>,
           document.getElementById('app')
       )

相信大家都想看看这个this打印的是何物 不急向下看

在这里插入图片描述

这个是我们的简写的state的打印this的结果我们接着看我们官网的方式打印的this的结果,


 class Appt extends React.Component{
        constructor(props) {
            super(props)
            console.log(this,11);
           // 这个是我们正常的一个初始化state的方法
            this.state={
                num: 456
            }
        }
             render(){  
                 return (
                     <div>
                       123
                     </div>
                 )
             }
       }

       ReactDOM.render(
           <Appt/>,
           document.getElementById('app')
       )

打印结果是两种方式效果是一样的

在这里插入图片描述

State: 总结

state 是组件对象最重要的属性. 值是对象(可以包含多个key-value 的组合)

到此这篇关于react的state的简写方式的文章就介绍到这了,更多相关react的state内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯