Мы начинаем новый проект в React.
И нам нужно использовать:
- React Context API
- i18n (реаги.i18nex)
- GraphQL (клиент Apollo)
- Redux
- CCS-in-JS (стилизованные компоненты или афодит)
Дело в том, что любая из этих реализаций оборачивает компонент и передает ему некоторые реквизиты или использует функции в качестве дочерних элементов.
И я хочу сохранить мои компоненты отделенными и по возможности чистить.
Как мне структурировать оболочки?
* * Пример 1 022
Главная
<Home {...props} />
Контекст:
<ThemeContext.Consumer>
{ theme=> <Home {...theme} programa={theme} /> }
</ThemeContext.Consumer>
i18n:
<I18n>
{t => <Home text={t("translated text")} /> }
</I18n>
GraphQL:
<Query query={GET_PROGRAMA}>
{({ data }) => <Home data={data} />}
</Query>
Redux:
const mapStateToProps = state => ({
user: "some user"
});
export default connect(
mapStateToProps,
)(Home);
Как видите, компонент Home получает изолированные реквизиты из многих источников.
Как я могу управлять ими и поддерживать их развязанными? Есть какой-то композитор ?
Спасибо!