Size: a a a

2020 June 30

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Котяй Негодяй
Пока не понял. Нужно понимать, что я сейчас воспринимаю новую концепцию автоматически через призму старой. 🤷‍♂️
пока что все задачи, реашемые контекстом, можно решить прямой передачей сторов их потребителям
источник

КН

Котяй Негодяй... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
темизация — это костыль в отсутствие реактивности в реакте: чем одни реактивные сторы принципиально отличаются от других?

учитывая, что вызовы css компилируются в статичные стили с цсс-переменными (то есть значение любого стора начинает проставляться через изменение цсс-переменной), то темизация становится обычным кодом
Т.е. можно задать некие глобальные переменные?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Котяй Негодяй
Т.е. можно задать некие глобальные переменные?
да

// theme.js

export const primaryColor = createStore('darkred')
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
а для майндсета «использовать цвет из ближайшего контекста» есть аргументы функций: что передадут, то и будешь использовать на этот раз
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
выглядит так
к примеру на этом скрине dir.box принимает и будет использовать в качестве ширины css-grid колонки переданный ей стор
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
этот метод компилируется в вызов spec
а скомпилируется в это
источник

КН

Котяй Негодяй... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
да

// theme.js

export const primaryColor = createStore('darkred')
Тэк. То есть, чтобы юзать тему, нужно будет дёрнуть некий setTheme, который потом раздаст значения подписанным на него сторам? Звучит норм. Но есть ещё мысль: если есть некий UI-кит, который использует такое решение, и я хочу создать совместимый с ним внешний компонент, то у меня, получается, есть только один вариант: создать для этого компонента фабрику, в которую передавать тему (DI)?
источник

КН

Котяй Негодяй... in ☄️ effector
Ааа, ему же при использовании всё ещё можно будет это передавать. Сорян.
источник

КН

Котяй Негодяй... in ☄️ effector
Дошло.
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
«компонент» это и есть фабрика, всё же выполняется при иниципализации

export function Button({primaryColor}) {
 h('button', () => {
   css`
     color: ${primaryColor};
   `
 })
}
источник

КН

Котяй Негодяй... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
«компонент» это и есть фабрика, всё же выполняется при иниципализации

export function Button({primaryColor}) {
 h('button', () => {
   css`
     color: ${primaryColor};
   `
 })
}
А условный рендеринг выполняется только через visible?
источник

КН

Котяй Негодяй... in ☄️ effector
Или мож быть свичи есть какие-нить?
источник

c⁣

createStore<🦉>... in ☄️ effector
Котяй Негодяй
Тэк. То есть, чтобы юзать тему, нужно будет дёрнуть некий setTheme, который потом раздаст значения подписанным на него сторам? Звучит норм. Но есть ещё мысль: если есть некий UI-кит, который использует такое решение, и я хочу создать совместимый с ним внешний компонент, то у меня, получается, есть только один вариант: создать для этого компонента фабрику, в которую передавать тему (DI)?
А почему не заюзать css-vars для темы?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Котяй Негодяй
А условный рендеринг выполняется только через visible?
variant и более низкоуровневый route
источник

КН

Котяй Негодяй... in ☄️ effector
createStore<🦉> ⁣
А почему не заюзать css-vars для темы?
Да, я это уже понял.
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Котяй Негодяй
А условный рендеринг выполняется только через visible?
вот например роутинг через route https://t.me/effector_ru/132766
источник

КН

Котяй Негодяй... in ☄️ effector
А были мысли о вводе статического анализа имён переменных? Ну, типа, чтобы не допускать ошибок.
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Котяй Негодяй
А были мысли о вводе статического анализа имён переменных? Ну, типа, чтобы не допускать ошибок.
апи stylis позволяет такое, весь css компилируется через него, так что в принципе можно
источник

КН

Котяй Негодяй... in ☄️ effector
Звучит очень даже.
источник

КН

Котяй Негодяй... in ☄️ effector
Я на голый CSS смотрю с опаской, т.к. привык, что мне указывают на ошибки.
источник