props 父组件向子组件通信
1.属性:只可父组件改变子组件的props,且不能通过this.props.name = 'name'的方式改变,且只能在父组件申明的时候指定;而子组件不能自己更新,组件内部的this.props是只读的,不能修改;
2.公有接口:props是子组件暴露给外部的公有接口
3.数据流:props是一个父组件给子组件的数据流,可以一直传到子孙组件中,props是React在整个组件树中传递数据的,且只能单向传递
import Item from "./item";
export default class Student extends React.Component{
render(){
return (
<Student name='Li' age=6>
);
}
}
state 组件内部的状态的维护
1.是指组件内部的状态,只能通过setState来改变,用来更新组件内部的数据
2.state的更新是异步的,可以将state的多次的修改合并成一次,所以this.state并不能保证是最新的state的,可能是几次修改前的state
3.state的更新是一个浅合并的过程Shallow Merge
this.state = {name:'Wan',age:7};
this.state({name:'Chen'});
//实际的state为:
{name:'Chen',age=7}//改变了name