Slide 20
Slide 20 text
20
const Bob = React.createClass({
propTypes: {
cover: React.PropTypes.element.isRequired,
title: React.PropTypes.oneOfType([
React.PropTypes.string,
React.PropTypes.element
]).isRequired,
description: React.PropTypes.string.isRequired,
tabs: React.PropTypes.arrayOf(
React.PropTypes.shape({
key: React.PropTypes.string.isRequired,
displayName: React.PropTypes.string.isRequired,
content: React.PropTypes.oneOfType({
React.PropTypes.func,
React.PropTypes.node
}).isRequired
})
),
tabEvents: React.PropTypes.shape({
onClick: React.PropTypes.func
}),
selectedTab: React.PropTypes.oneOfType([
React.PropTypes.string,
React.PropTypes.oneOf([ TAB_OVERVIEW ])
])
}
});
Ease of integration: Self-documentation.
specify that component
expects tabs, and exactly what
the tabs should look like