React入门---属性(state)-7

state------>虚拟dom------>dom

这个过程是自动的,不需要触发其他事件来调用它。

state中文理解:页面状态的的一个值,可以存储很多东西。

学习state的使用:

1.state先初始化,在React中,每一个类跟所有的面向对象的函数一样,都有一个构造函数叫constructor。

2.将state的初始化放在constructor()里面。

export default class BodyIndex extends React.Component{
    //将state的初始化放在constructor()里面
    constructor(){
        super();//调用基类的所有初始化方法(这个是固定模式)
        //下面是对state固定的语法
        //初始化state后,初始化赋值
        //重要:state只作用于当前的class,绝不影响其他组件class(例如这个state是作用在主体部分,它就不会影响头部和底部)
        this.state = {username : "azedada"} //可以传json等很多格式(这个是初始化赋值)
    }
    render(){
        return(
                <div>
                    <h1>这里是主体内容部分</h1>
                    {/*state在页面显示*/}
                    <p>{this.state.username}</p>
                </div>
            )
    }
}

重要:state只作用于当前的class,绝不影响其他组件class(例如这个state是作用在主体部分,它就不会影响头部和底部)。

3.state发生改变,会立马引起刷新,但是这个刷新只会更改需要更改的部分,不会引起页面全部刷新,所以用react写出来的页面效率非常高。

    接下来用定时器函数来做一个简单的理解:

 

export default class BodyIndex extends React.Component{
    //将state的初始化放在constructor()里面
    constructor(){
        super();
        this.state = {username : "azedada"}
    }
    render(){
        //定时器,4秒后进行刷新
        setTimeout(()=>{
            //更改state的时候
            this.setState({username : "hello"})
        },4000)

        return(
                <div>
                    <h1>这里是主体容部分</h1>
                    {/*state在页面显示*/}
                    <p>{this.state.username}</p>
                </div>
            )
    }
}

运行程序之后,就会发现 页面中 azedada 会在4秒中后变为 hello,这个过程只进行当前的刷新,没有页面的刷新。效率非常高。

时间: 2024-10-12 06:48:07

React入门---属性(state)-7的相关文章

React入门---属性(props)-8

Props 和 State对于组件Component是非常重要的两个属性. 区别:State对于模块来说是 自身属性:   Props对于模块来说是 外来属性: 同样的,props也是只作用于当前的组件,绝不影响其他组件: 给组件 <ComponentFooter> 添加props属性和属性值: 例:从父组件index.js给子组件footer.js传送数据: class Index extends React.Component{ render(){ return( //里面分别是 头部 主

React 入门实例教程

React 入门实例教程 作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很好用,就在2013年5月开源了. 由于 React 的

(转)React 入门实例教程

作者: 阮一峰 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很好用,就在2013年5月开源了. 由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非

学习react入门demo的总结。

在github上找到react入门学习比较好的demo,下面是那个链接: https://github.com/ruanyf/react-demos 然后接下来是每个demo的学习笔记: demo1: <body> <div id="example"></div> <script type="text/jsx"> //jsx类型可html和javasript一起写,遇到 HTML 标签,就用 HTML 规则解析:遇到代

react入门(5)

对前面四篇内容进行简单的回顾: react入门(1):jsx,组件,css写法 react入门(2):事件,this.props.children,props,...other react入门(3):jsx/html/css分开写(分成三个文件),state,onChange事件,refs react入门(4):props和state的混搭使用,state与props的对比,生命周期(挂载.更新.移除) 今天要讲的是组件之间的通信,会结合前面学的一些内容,主要以实例为主来进行讲解. 一.父组件向

【转】react入门实例教程

作者: 阮一峰 日期: 2015年3月31日 写在前面:原文链接http://www.ruanyifeng.com/blog/2015/03/react.html    github地址https://github.com/ruanyf/react-demos 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场

React入门实例教程

文章转自:阮一峰 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很好用,就在2013年5月开源了. 由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却

[译] React 入门指南

原文链接:The React Quick Start Guide 这篇文章将概括性的介绍一下如何用 ReactJS 进行开发.我将介绍一些基础知识,不会有过于深入的分析.你可以结合这些代码阅读本文.更新:本文已经由 Hugo Bessa 翻译了葡萄牙语版. 一些概念 React 的 API 非常少,简单易懂易用.在正式开始之前先介绍几个概念,一个一个来. React 元素 是表现为 HTML 元素的 JavaScript 对象,他们并不真实存在于浏览器中.他们最终表现为类似h1, div 或 s

React 入门,5个常用DEMO展示

阅读前请看这里: * 了解js及jQuery的使用 * 对react有一定的了解,知道jsx的语法 * 这里只讲述如何使用react,并不介绍react的优缺点 如果不满足这些,建议先了解下,然后再看这篇文章 下面会讲述5个react的实例,虽然仅有5个,但在常用的开发中,几乎会包含大部分的情况,只要熟练掌握这5个demo,相信一定会解决大部分问题. demo中,所有样例会打包后,传递到附件,大家可以下载阅览,最好自己亲手实践下,不要直接copy代码,没有意义. 使用的react版本是0.14.