I would make a small module demonstrating this functionality. In the CommonJS world, it will look something like this:
let React = require('react'); module.exports = { propTypes() { return React.PropTypes.shape({ memoryID: React.PropTypes.number, content: React.PropTypes.string, date: React.PropTypes.object, dateStr: React.PropTypes.string, note: React.PropTypes.string }).isRequired; }, initialValues() { return { memoryID: 0, content: "", date: null, dateStr: "", note: "" }; } }
Then you will use this in such components:
let memoryUtils = require('./memory-utils'); let MyComponent = React.createClass({ propTypes: memoryUtils.propTypes(), render() { ... } });
and
let memoryUtils = require('./memory-utils'); let MyComponent = React.createClass({ getInitialState() { return memoryUtils.initialValues(); }, render() { ... } });
source share