state 的做用域只在当前的 classjavascript
当statejava
import React from 'react'; import ReactDOM from 'react-dom'; //export 暴露 export default class BodyIndex extends React.Component{ constructor(){ //类的构造函数 super(); // 调用基类的全部的初始化方法 this.state = { userName :"parray", age:10 }; //初始化赋值 } render(){ //解析类的输出 setTimeout(()=>{ //更改state的语句 this.setState({ userName : "userName changed", age : 20 }) },4000); //4s 刷新 return ( <div> <h2>页面主体内容</h2> <p>{this.state.userName} {this.state.age}</p> </div> ) } }
迄今为止,基于它本身的props,每一个组件都渲染了本身一次。
props
是不可变的:它们从父级传来并被父级“拥有”。为了实现交互,咱们给组件引进了可变的 state。this.state
是组件私有的,能够经过调用this.setState()
改变它。每当state更新,组件就从新渲染本身。react
render()
方法被声明为一个带有this.props
和this.state
的函数。框架保证了 UI 老是与输入一致。json
1.state的做用域只是当前的class,不会污染其余的class
2.state改变后,元素自动更新,但不会
3.传入参数形式多样,上例传入json框架
this.setState({ userName : "userName changed", age : 20 })
Renderingdom