1、state:?通过更新组件的state来更新对应的页面显示(重新渲染组件)
(1)使用步骤
- 初始化类式组件的成员变量state;
- 通过setState方法修改state值,可以重新使react渲染页面,注意,这里不能直接去修改属性的值,只能通过setState
?(2)注意:
-
组件中render方法中的this为组件实例对象 -
组件自定义的方法中this为undefined,如何解决? -
有如下两种方法
a) 强制绑定this: 通过函数对象的bind()
b) 箭头函数
-
状态数据,不能直接修改或更新
?先拿到在类中定义的数据isHot,然后利用setState去修改值
?
?2、props用来向组件传递参数
(1)每个组件对象都会有props(properties的简写)属性
(2)组件标签的所有属性都保存在props中
先拿到props里面的属性,然后再根据传进去的数据值进行绑定
(3)还可以展开运算符进行传值
let person = {name:"fang",age:12}
<MyComponent {...person}/>
import ReactDOM from 'react-dom';
//使用函数组件
function User(props){
//在组件中获取props属性值
return <div>{props.name},{props.age}</div>
}
//定义数据
const person ={
name:'张三',
age:20,
sex:'男'
}
ReactDOM.render(
<User {...person}></User>
, document.getElementById('root'));
3、Refs:组件内的标签可以定义ref属性来标识自己
?(1)回调形式的ref 最常用
(2)回调形式的refs,组件实例的ref属性传递一个回调函数ref=(item)=>{this.refName=item},这样会在实例的属性中存储对DOM节点的引用,使用时可通过this.refName来使用
|