React prop和state

React中组织数据的形式有两种,分别是prop和state。

prop

prop是组件对外的接口,即是外部传递给组件的数据。(这里的外部不仅是指我们直接输入的数据,也可以父组件给子组件传递的数据)

把数据从子组件传递给父组件实际上可以调用函数,即把父组件的方法传给子组件,然后通过子组件的事件调用父组件的方法来改变父组件的值

prop的类型可以是任意的一种JS支持的数据类型。(包括函数)

构造函数中super(props)的作用是使类实例的成员函数可以通过this.props访问到父组件传递过来的props值。

propTypes检查

可以规定

1.组件支持prop的类型

2.prop是否必须传入

不过propTypes检查只是一个辅助开发的功能,而不能改变组件的行为(即propTypes检查在出错的情况下,组件依然可以正常工作。)

state

state则是组件的内部状态。

因为React组件不能修改传入的prop,所以需要state记录自身数据的变化。

defaultProps可以作为组件状态的初始值。

修改state时需要使用this.setstate方法,而不是this.state,因为后者状态虽然发生了变化,却不会驱动组件重新渲染。

猜你喜欢

转载自blog.csdn.net/weixin_40729735/article/details/86671295