Skip to Content
React学习手册
book

React学习手册

by Alex Banks, Eve Porcello
December 2017
Intermediate to advanced
329 pages
6h 9m
Chinese
China Electric Power Press Ltd.
Content preview from React学习手册
116
6
<span>{ingredients} Ingredients | </span>
<span>{steps} Steps</span>
</p>
</div>
)
}
}
现在,当我们尝试在不提供属性数据的情况下渲染该组件,会看到系统采用了默认属
性值完成相应操作,如图
6-6
所示。
6
-
6
:采用了默认属性值的Summary组件
采用了默认属性后可以提高组件的灵活性,并且可以防止用户未明确声明每个必须的
属性时发生错误。
自定义属性验证
React
内置的验证机制非常适合确保用户所需变量类型的正确性。不过有些情况下需
要更强大的验证功能才能满足需要。比如用户需要确保某个数字是属于特定区间的,
或者某个参数值包含特定字符串。针对这种情况,
React
提供了一种方法允许用户构
建自己的验证机制。
React
中的自定义验证机制是通过一个函数来实现的。该函数既可以在不满足特定验
证条件时返回一个错误,也可以在属性通过验证后返回一个
null
值。
对于基本的属性类型验证,我们只能基于一种条件验证一个属性。不过幸运的是,
自定义属性验证允许用户以多种方式对属性进行验证。在自定义函数中,我们首先
会验证该属性值是否是字符串类型。然后将其长度限制在
20
个字符以内(参见示例
6-1
)。
示例
6-1
:自定义属性验证
propTypes: {
ingredients: PropTypes.number,
steps: PropTypes.number, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

React快速上手开发

React快速上手开发

Stoyan Stefanov
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9787519814236