Vestrond
окей, если что, буду писать) было бы, к слову, неплохо добавить стартовый маркдаун файлик с кратким описанием проекта, но это так, между делом
Mikhail
Mikhail
в material-ui каждый компонент килобайт по 20
Mikhail
у меня - ~1кб
Anonymous
Подскажите где в такой структуре нужно подключать роуты? Спасибо.
Mykhailo
Подскажите где в такой структуре нужно подключать роуты? Спасибо.
Ну скорее всего в компоненте App, подключать компонент Routes.
Sergey
где посмотреть changelog react 16.10?
Sergey
а, это я просто удачно попал, он только 2 минуты назад вышел)
Daniil
где посмотреть changelog react 16.10?
Зайти в реп и найти нужный комит https://github.com/facebook/react/commit/7dc83a61005319f8e473c00046bfe0f1c7b53eb9
Sergey
ssshhh
Есть знатоки реакт нативного?
Mikhail
вроде больше похоже на багфикс-релиз, но почему-то 16.10.0, a не 16.9.1.. и react-dom пожирнел на 6кб =(
Usman
Ребята, как вызвать метод дочернего компонента из родителя? Лучший способ какой?
Usman
Так не делать
можете посказать как сделать?
🦜
можете посказать как сделать?
Прокинуть в компонент из родителя функцию
Mikhail
Ребята, как вызвать метод дочернего компонента из родителя? Лучший способ какой?
лучше так не делать, но если очень хочется, то можно взять ref на чайлда и дергать его функции
Alex
Ребята, как вызвать метод дочернего компонента из родителя? Лучший способ какой?
Реакт специально построен так, чтобы данные шли только вниз по дереву
Alex
Опиши, что ты пытаешься сделать лучше
Артем
Реакт специально построен так, чтобы данные шли только вниз по дереву
Зачем? Ведь двусторонний обмен более универсален.
Alex
Зачем? Ведь двусторонний обмен более универсален.
И более склонен к усложнению логики и появлению багов
Артем
Я бы сказа, что наоборот... Иметь возможность, но не пользоваться ею - никак не увеличит количество багов... А вот не иметь и потом придумывать "костыли" - очень даже способствует появлению проблем.
Alex
Просто чтобы понять реакт нужно немного времени
Артем
Пробрасывать "вниз" методы/функции - это по сути тоже "костыль"...
Таймураз
Ребят, то, что вы называете костылями- это архитектура Долбите какую-нибудь известную архитектуру- и вперёд
Alex
Например в ванильном жс, мы можем подписаться на клик кнопки
Alex
А в реактовом компоненте мы можем подписаться на onModalClose например
Alex
Все ваше программирование это костыли над законами физики
Артем
В чем разница: - родитель кидает дочернику свою функцию, которая должна вызываться по некоему событию и ее дергает дочерник - родитель сам по себе доступен для обращения дочерником со всеми своими методами... Убирается автоматом этап пробрасывания )
Alex
Вот ето
Артем
Дочерник🙈
Ну вот пошли докапывания к терминологии ))) суть ясна, не стоит тролить новичка
Таймураз
Ну вот пошли докапывания к терминологии ))) суть ясна, не стоит тролить новичка
Терминология на то и терминология, чтобы люди говорили на одном языке
Артем
Разницы нет, и то и то говно Бизнес логика должна быть абстрагирована как можно сильнее от вью
Фанат жесткого mvc )? Сейчас все больше разговоров, что этот подход себя не оправдал...
Артем
Терминология на то и терминология, чтобы люди говорили на одном языке
Ну давайте еще всех людей заставим общаться на латыни с врачами, дабы мускулус анус не называть ж...й )))
artalar
Особенно с reatom :)
Артем
Кстати вот тот же редакс чем удобен и вообще чем обусловлено его появление? Необходимостью доступа к данным и обмену "событиями" между несвязными компонентами... И т.к. он крайне востребован - это и говорит о том, что необходимость "нарушения" принципов реакта крайне велика...
Артем
Да, я не к тому, что реакт плох - не надо костер разжигать, я не ведьма - просто странно, почему в него не привносятся "в базовый состав" такие востребованные вещи и не расширяется его архитектурный подход
Arthur
Sergey
Звучит как минус
Почему? Для меня это наоборот плюс
Alex
Звучит как минус
Наоборот больше свободы
Артем
Он все равно не дает тебе больше возможностей передать данные вверх по дереву
Почему нет? Насколько я понял, любой компонент можно связать с редаксом и подписаться на изменение каких-то данных. Соответственно другой компонент, меняя эти данные передает их через редакс тому, кто подписался на их изменения.
Артем
И все это происходит в обход вообще любых вложенностей... Или я неверно понял суть?
Alex
Мы говорим о том, что дочерний элемент не может напрямую передать свои данные или функции родителю
Alex
Делая это через коллбеки ты делаешь это не напрямую
Артем
Мы говорим о том, что дочерний элемент не может напрямую передать свои данные или функции родителю
Ну в рамках непосредственного "контакта" родитель-дочерний - да, довольно просто, но когда требуется пройти цепочку, то мы вынуждены задействовать все компоненты пробросами функций... Через редакс это проще, т.к. есть только один промежуточный "узел", через который и происходит коммуникация. Это же круто... Ну почему реакт не внедрит хотя бы пррстейшую модель событий глобального масштаба. - компонент изменил свой стейт - автоматом регистрируется событие с данными источника события и данными - любой компонент может получить это событие, если подписался на источник По сути урезанный редакс, но "из коробки" с реактом и решал бы львиную долю таких вот обменов
Alex
А. Подожди. Я не очень внимательно прочитал твое сообщение
Alex
Ну а вообще да
Alex
React Context
Sergey
Есть контекст, есть хук useReducer ))) Вот тебе и урезанный редакс
Но имхо. Лучше все же отдельный СТМ использовать.
Alex
Но опять же, им как и редаксом лучше не злоупотреблять
Артем
Есть контекст, есть хук useReducer ))) Вот тебе и урезанный редакс
Эге, а вот это уже интереснее... Спасибо за наводку - почитаю... А то редакс зверь хороший, но уж очень его не хочется тащить ради нескольких цепочек зависимостей
Alex
А то я видел как компоненты типо чекбокса коннектят к стору
Alex
Юзайте графкьюэль в аполло и будет вам счастье
Alex
И? )
Реюзабельность компонента сразу в ноль
Артем
Но опять же, им как и редаксом лучше не злоупотреблять
Ну вот, не злоупотреблять ((( значит это не его прямое назначение, а некий "побочный эффект"? Эт плохо...
Alex
Если у тебя чекбокс привязан к одному полю в сторе
Alex
Ну вот, не злоупотреблять ((( значит это не его прямое назначение, а некий "побочный эффект"? Эт плохо...
Не совсем. Просто есть ряд компонентов которые теряют свою реюзабельность когда привязываешь их к стору
Alex
Поэтому самые частые компоненты, например заголовски, поля, параграфы, кнопки лучше держать "глупыми"
Alex
Зависящими только от пропсов
Alex
Ну это да, соглашусь.
Эт первый раз когда со мной кто то в этом чате согласился)
Артем
Не совсем. Просто есть ряд компонентов которые теряют свою реюзабельность когда привязываешь их к стору
Нет конечно, управлять такими глупыми должен умный... Это само собой ))) Но вот когда по дизайну в одном углу висит пара списков фильтров, а в другом сложный компонент, вид которого зависит от стейта этого списочника... То прокидывать цепочку явно не вариант... И вот тут мысли о событие/подписка прям лезут в голову... Событие изменения выбора списка в "узел", а уже этот сложный компонент подписывается на это событие и ловит его...