Arthur
Короче никак, как я понимаю
Arthur
Это конечно пипец пичаль
artalar
artalar
Bogdan
да
вплане на бою относительно недавно
Arthur
Хотяяяя
Arthur
Я тут подумал ... с почти мввм это в целом решается всё
Arthur
Только дополнительно оборачивать придётся
Arthur
импорт?)
Смотри, на чем можно построить DI?
- Наследование
- Функциональная композиция
- … а на чем работают хуки и мобыкс?? Я не знаю как это правильно называется, я это называю call stack DI, этакая разновидность функциональной композиции - вроде аргументы не пробрасываются, но тот кто делает вызов функции может менять ее поведение, потому что она использует что-то, что можно поменять до вызова этой самой функции
Если импортом выносить, то будут конфликты в ssr, т.к оно в глобал уйдёт
Это связано с тем менеджером (IoC контейнером) сторов, который мы с тобой обсуждали
Я сейчас подумал, что если хоком коннектить вью-модель, то там внутри можно всё разруливать, без пробросать в компоненты
artalar
Не хоком, а простым HOFом
Arthur
я набросал версию, но пока без async импортов, т.к. там для коллекта чанков нужно свой loadable писать
Victor
Слушайте
Как быть если я в mStP из state в один из пропсов пропихивают объект? У меня из-за этого перерендеры, а свой sCU не охота описывать... Что по книжке надо делать в таком случае?
artalar
Т.е. почему бы не обернуть компонент в хай ордер фанктион и при ее вызове не определять поведение, а дочернуюю функцию вызывать и возвращать ее результат
artalar
artalar
Чего? Либо объект разбивать на отдельные пропсы, либо стор нормализовать, что бы сборка объекта не афектилась другими изменениями
Victor
Звонить-хранить
Victor
С могилы пишу
Victor
Похоже надо более конкретный пример объекта чтобы понять.
Arthur
Т.е. почему бы не обернуть компонент в хай ордер фанктион и при ее вызове не определять поведение, а дочернуюю функцию вызывать и возвращать ее результат
ну сейчас у меня вот так +-
function injectStores(Component) {
return function (factory) {
function Injector(props) {
const manager = useStoresManager();
const createdStore = factory(manager);
const p = {
...props,
...createdStore
};
return <Component {...p} manager={manager} />;
}
return Injector;
};
};
и получается, я при коннекте определяю логику внедрения и выбора нужных сторов, например вот так
const _App = injectStores(App)((manager) => {
return {
app: manager.get('app'),
singletonStore: createSingletonStore() // create store without manager
};
});
а могу делать типа такого
const _App = injectStores(App)((manager) => {
const {$language} = manager.get('i18n');
const {$state, changeState} = manager.get('app');
return {
state: $state,
changeState: () => changeState('loaded', $language.getState())
singletonStore: createSingletonStore() // create store without manager
};
});
Arthur
и получается, что в компонент сразу всё готовое прилетает
Arthur
ну и это решит все проблемы с "грязными" компонентами / эффектами и тд
artalar
artalar
Ну еще управление отписками добавить - это совсеми изи
Arthur
да выглядит сложно как-то
Arthur
+ я хочу собрать всю логику управления сторами в одном месте
artalar
// usage
export const Component([’depsName’], ({depsName}) => <>{depsName}</>)
(нужно местами аргументы поменять)
artalar
А в чем микс?
Arthur
ну хотя бы потому же srp
Arthur
А в чем микс?
а, стоп, сорри, я подумал, что это хук для запуска эффекта какого-то
Arthur
ну и типа там же IoC используем
Павел 💻
Всем привет! Пожскажите пожалуйста, как можно слушать изменения в state? Просто мне нужно запускать функцию, когда определённая переменная в state меняется
Vova
Vova
Vova
что тут не так?
Andrew
Vova
блядь
Vova
спасибо
David
This hook was in our original alpha release, but removed in v7.1.0-alpha.4, based on Dan Abramov's suggestion
David
Черт
David
Уже ответили))
Anonymous
Подскажите плиз делают ли так или это не самый изящный вариант? в функции getUserChats метод setState и для этого туда сую this
David
А зачем туда весь this? Ты же получается весь компонент, включая props, refs, функции, updated, сам стейт, передаешь в setState, бред какой-то
Anonymous
Anonymous
Или вытащить наружу его лучше?
Anonymous
Тогда будет не очень красиво...)
David
Я не понимаю особо вопрос, кидаешь res в кач-ве аргумента...вызываешь с ним setState. Но судя по вопросу, это не вариант 😆
Anonymous
Vova
кто то может скинуть пример проекта react redux с хуками?
artalar
Я честно по началу думал что с хуками редакс умрет. Не потому что они его заменят, а потому что просто будет шаг вперед…
Vova
мне в этом чате уже два дня долбят что это максимально разные вещи
Vova
@artalar лучше писать на чистых хуках без редакса?
artalar
artalar
Это теплое и красное
artalar
Я про то что есть альтернативы редаксу: overmind, effector
Cenator 🐈
@DenisIzmaylov кажется уже стоит перепинить сообщение назад
Denis
Да, днём. Иногда даже если пинить без звука, срабатывает уведомления.
Denis
Не будить же народ:)
Unknown
Друзя подскажите пожалуйста где можно посмотреть как правильно сделать раутинг с редакс
Elen
Ребята, подскажите _ картинки в gridlist _ делаю роутинг и есть роутинг при нажатии на эти картинки_использую NavLink
Вопрос _ все картинки стали разными размерами после роутинга ? Каким путем действовать? Может кто сталкивался ?
Eugene
Unknown
Ilia
Ребят,как лучше стили передавать компоненту
Ilia
через props
Ilia
или импортировать css
Serge
Styled components ;) Зависит от задачи
Ilia
Ну задачи пока что сам себе ставлю)
Dmytro
зависит от того, что используется на проекте
Ilia
Ну а как понять ,когда первое,когда второе?
Dmytro
если нужно какое-то свойство во время работы приложения, то лучше передавать через пропсы
Vladimir
Обычно инлайн стили задавть не нужно
Vladimir
лучше всегда через класс
Vladimir
даже пустому элементу задать класс
Vladimir
когда будешь отлаживать верстку, так удобней ориентироваться