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>
formikdownshiftreact-motionreact-routerconst HOC = Component => EnhancedComponent
const HOC = (option1, option2) => Component =>
EnhancedComponent
const connect = (mapStates, mapDispatch) => Component =>
ConnectedComponent
const withRouter = Component => RoutedComponent