Мы находимся в процессе разработки способа организации наших компонентов React и считаем, что шаблон Atomi c Design соответствует тому, как компоненты React создаются достаточно хорошо.
У нас очень высокая степень мультитенантности со степенью гибкости в проектах для этих арендаторов (наших клиентов). В то время как в дизайне иногда легко изменить цвета темы, этого недостаточно, и вы должны применить классы / реквизиты (компоненты стиля), чтобы получить требуемый дизайн.
Шаблон проектирования Atomi c в React работает достаточно хорошо, пока вы не захотите добавить классы / реквизиты модификаторов во вложенные компоненты.
Например, скажем, у нас есть следующее:
Атомы : Кнопка & Вход
Молекул : Поиск - содержит Кнопка и Ввод
Организмы : Заголовок - содержит Поиск и другие молекулы
Шаблоны : Home - содержит Заголовок и другие Организмы
Я сохранил простой пример, но, надеюсь, идея пришла. Если в рамках дизайна мне нужно сделать кнопку вторичной стилизованной кнопкой для клиента b (потому что это наиболее подходящий стиль для брендинга этих клиентов), как мне установить этот модификатор следующим образом? это класс CSS или реквизит, когда у меня есть доступ только к шаблону Home ? Даже если бы мы использовали реквизит, у вас все равно была бы проблема получения доступа к кнопке , чтобы иметь возможность применить эту реквизит. На мой взгляд, это вопрос композиции, и я не могу найти для него хорошего решения.
Непрактично продвигать уроки / подпорки на каждом уровне, а также для каждого компонента, который у вас может быть, и идею обертывания. каждый компонент в контексте для этой цели не чувствует себя правильным. Любые предложения или идеи, даже если они отрицательны к тому, чего мы пытаемся достичь, все равно будут полезны. Спасибо.