{ if (!currentUser) { return <NotAuthorized /> } if (loading) { return <Spinner /> } if (!products.length) { return <NoData /> } return (...) } Еще раз про граничные условия
const enhance = compose( connect(mapStateToProps), branch( ({ currentUser }) => !currentUser, renderComponent(NotAuthorized) ), ... ) Еще раз про граничные условия
=> !products.length, renderComponent(NoData)) ) const ProductList = ({ products }) => (...) export default enhance(ProductList) Еще раз про граничные условия
дереве • легче управлять перерисовкой компонентов • многие компоненты реализованы в виде чистых функций (без использования классов), в будущем возможна оптимизация работы таких компонентов в React 91
описать ее декларативно • повторно использовать presentational components в разных частях приложения • тестировать логику отдельно от представления 100
управлять перерисовкой компонентов • класть в props обработчики и переменные по мере необходимости • удобно обрабатывать граничные условия с помощью branch 102