- 组件是相互独立、可复用的单元,一个组件可能在不同地方被用到。但是在不同的场景下对这个组件的需求可能会根据情况有所不同,让组件能适应不同场景下的需求,就要让组件具有一定的“可配置”性
- React.js 的 props 就可以帮助我们达到这个效果。每个组件都可以接受一个 props 参数,它是一个对象,包含了所有你对这个组件的配置
- 在使用一个组件的时候,可以把参数放在标签的属性当中,所有的属性都会作为
props
对象的键值:
ReactDOM.render(
<LikeButton name="button"/>, document.querySelector('#root')
)
- 把参数放在表示组件的标签上,组件内部就可以通过
this.props
来访问到这些配置参数
默认配置 defaultProps
- React.js 也提供了一种方式
defaultProps
,可以方便的做到默认配置:
static defaultProps = {
likedText: '取消',
unlikedText: '点赞'
}
props 不可变
- React.js 希望一个组件在输入确定的
props
的时候,能够输出确定的 UI 显示形态。如果 props
渲染过程中可以被修改,那么就会导致这个组件显示形态和行为变得不可预测,这样会可能会给组件使用者带来困惑 props
一旦传入,你就不可以在组件内部对它进行修改。但是你可以通过父组件主动重新渲染的方式来传入新的 props,从而达到更新的效果