props 父組件向子組件通信
1.屬性:只可父組件改變子組件的props套菜,且不能通過this.props.name = 'name'的方式改變攒岛,且只能在父組件申明的時(shí)候指定;而子組件不能自己更新负甸,組件內(nèi)部的this.props是只讀的名斟,不能修改;
2.公有接口:props是子組件暴露給外部的公有接口
3.數(shù)據(jù)流:props是一個(gè)父組件給子組件的數(shù)據(jù)流池凄,可以一直傳到子孫組件中句旱,props是React在整個(gè)組件樹中傳遞數(shù)據(jù)的阳藻,且只能單向傳遞
import Item from "./item";
export default class Student extends React.Component{
render(){
return (
<Student name='Li' age=6>
);
}
}
state 組件內(nèi)部的狀態(tài)的維護(hù)
1.是指組件內(nèi)部的狀態(tài),只能通過setState來改變谈撒,用來更新組件內(nèi)部的數(shù)據(jù)
2.state的更新是異步的腥泥,可以將state的多次的修改合并成一次,所以this.state并不能保證是最新的state的啃匿,可能是幾次修改前的state
3.state的更新是一個(gè)淺合并的過程Shallow Merge
this.state = {name:'Wan',age:7};
this.state({name:'Chen'});
//實(shí)際的state為:
{name:'Chen',age=7}//改變了name