Reader small image

You're reading from  React Components

Product typeBook
Published inApr 2016
Publisher
ISBN-139781785889288
Edition1st Edition
Tools
Right arrow
Author (1)
Christopher Pitt
Christopher Pitt
author image
Christopher Pitt

Christopher Pitt is a principal developer for SilverStripe in Wellington, New Zealand. He usually works on open source software, though sometimes you'll find him building compilers and robots.
Read more about Christopher Pitt

Right arrow

Validating properties


Before we look at storing data, there is another habit I'd like to share with you. The components we created in the last chapter work well together, but our aim is to make each component self-contained. We want others to be able to reuse our components, but they will encounter problems if they don't know which properties our components expect.

Consider what would happen if we used PageAdmin like this:

ReactDOM.render(
    <PageAdmin backend="ajax" />,
    document.querySelector(".react")
);

Faced with this component, and no documentation, it might be tempting to substitute a Backend object with some other configuration data. This looks reasonable to someone unfamiliar with the component. And, without a careful study of all our components, we can't expect others to know what those properties should be.

We can protect against this situation by adding property validation. Let's add some validation to PageEd itor:

PageEditor.propTypes = {
    "id": React.PropTypes.number...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
React Components
Published in: Apr 2016Publisher: ISBN-13: 9781785889288

Author (1)

author image
Christopher Pitt

Christopher Pitt is a principal developer for SilverStripe in Wellington, New Zealand. He usually works on open source software, though sometimes you'll find him building compilers and robots.
Read more about Christopher Pitt