UNPKG

bridebook-ui-library

Version:
34 lines (27 loc) 1.06 kB
import PureComponent from 'react-pure-render/component'; import React, {PropTypes} from 'react'; // RouterHandler is back since suggested solution via React.cloneElement sucks. // https://github.com/rackt/react-router/blob/master/UPGRADE_GUIDE.md#routehandler // This is just syntax sugar for react-router 1.0.0 filtering children in props. // https://github.com/este/este/issues/535 // Note React does not validate propTypes that are specified via cloneElement. // It is recommended to make such propTypes optional. // https://github.com/facebook/react/issues/4494#issuecomment-125068868 export class RouteHelper extends PureComponent { static propTypes = { children: PropTypes.object } render() { const {children} = this.props; let result = null; if (!children) { result = null; } else { // That makes nested routes working. const propsWithoutChildren = {...this.props}; delete propsWithoutChildren.children; result = React.cloneElement(children, propsWithoutChildren); } return result; } }