Render Props & Higher-order Component
<Malcolm />
<List> <ListItem text="A" /> <ListItem text="B" /> <ListItem text="C" /> </List>
export class ComponentWithModal extends React.Component { state = { showModal: false } toggleShowModal = () => { // } }
<BehaviorComponent option={someOptionValue} render={data => <VisualComponent data={data} />} />
<Toggle // delegate behavior onToggle={toggleHandler} // delegate rendering render={({ toggle, on }) => <Switch on={on} onClick={toggle} />} />
<BehaviorComponent> {data => <VisualComponent data={data} />} </BehaviorComponent>
formik
downshift
react-motion
react-router
const HOC = Component => EnhancedComponent
const HOC = (option1, option2) => Component => EnhancedComponent
const connect = (mapStates, mapDispatch) => Component => ConnectedComponent
const withRouter = Component => RoutedComponent