一、style
React.js 中的元素的 style
属性的用法和 DOM 里面的 style
不大一样,普通的 HTML 中的:
<h1 style='font-size: 12px; color: red;'>React.js 小书</h1>
在 React.js 中你需要把 CSS 属性变成一个对象再传给元素:
<h1 style={{fontSize: '12px', color: 'red'}}>React.js 小书</h1>
style
接受一个对象,这个对象里面是这个元素的 CSS 属性键值对,原来 CSS 属性中带 -
的元素都必须要去掉 -
换成驼峰命名,如 font-size
换成 fontSize
,text-align
换成 textAlign
。
用对象作为 style
方便我们动态设置元素的样式。我们可以用 props
或者 state
中的数据生成样式对象再传给元素,然后用 setState
就可以修改样式,非常灵活:
<h1 style={{fontSize: '12px', color: this.state.color}}>React.js 小书</h1>
只要简单地 setState({color: 'blue'})
就可以修改元素的颜色成蓝色。
二、prop-types
npm install --save prop-types
帮助我们验证 props
的参数类型,通过 isRequired
关键字来强制组件某个参数必须传入:
...
static propTypes = {
comment: PropTypes.object.isRequired
}
...
React.js 提供的 PropTypes
提供了一系列的数据类型可以用来配置组件的参数:
PropTypes.array
PropTypes.bool
PropTypes.func
PropTypes.number
PropTypes.object
PropTypes.string
PropTypes.node
PropTypes.element
...
通过 PropTypes
给组件的参数做类型限制,可以在帮助我们迅速定位错误,这在构建大型应用程序的时候特别有用;另外,给组件加上 propTypes
,也让组件的开发、使用更加规范清晰。
三、小贴士
这里插入一些小贴示,大家可以注意到我们组件的命名和方法的摆放顺序其实有一定的讲究,这里可以简单分享一下个人的习惯,仅供参考。
组件的私有方法都用 _
开头,所有事件监听的方法都用 handle
开头。把事件监听方法传给组件的时候,属性名用 on
开头。例如:
<CommentInput onSubmit={this.handleSubmitComment.bind(this)} />
这样统一规范处理事件命名会给我们带来语义化组件的好处,监听(on
)CommentInput
的 Submit
事件,并且交给 this
去处理(handle
)。这种规范在多人协作的时候也会非常方便。
另外,组件的内容编写顺序如下:
- static 开头的类属性,如
defaultProps
、propTypes
。 - 构造函数,
constructor
。 - getter/setter。
- 组件生命周期。
_
开头的私有方法。- 事件监听方法,
handle
。 render
开头的方法,有时候render()
方法里面的内容会分开到不同函数里面进行,这些函数都以render
开头。render()
方法。 如果所有的组件都按这种顺序来编写,那么维护起来就会方便很多,多人协作的时候别人理解代码也会一目了然。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!