const loader = <h1>loading eh</h1>
const validateConditions = {
props: {
magic: true,
}
state: {
canadians: length => Number.isInteger(length),
},
}
const validateOpts = {
satisfied: false,
ready: false,
displayLoading: loader,
}
@renderWhen(validateConditions, validateOpts)
@injectPropsClass(['props', 'state'])
class Eh extends React.Component {
static propTypes = {
magic: React.PropTypes.string,
}
state = {
canadians: undefined,
}
componentWillReceiveProps = ({magic}) => magic ? this.setState({magic}) : 0
render({magic}, {canadians}) {
console.debug({magic, canadians})
}
}
const loadingEh = <Eh magic={false} />
const validEh = <Eh magic={true} />
import {
injectProps,
injectPropsClass,
renderWhen,
shouldUpdateFor,
validateOn,
validateSetState,
autobind,
shallowEqual,
} from 'react-component-decorators'
import injectProps from 'react-component-decorators/lib/injectProps'
import injectPropsClass from 'react-component-decorators/lib/injectPropsClass'
import renderWhen from 'react-component-decorators/lib/renderWhen'
import validateOn from 'react-component-decorators/lib/validateOn'
import validateSetState from 'react-component-decorators/lib/validateSetState'
import shouldUpdateFor from 'react-component-decorators/lib/shouldUpdateFor'