Stanislav
Сова завез новость
Anonymous
все равно ждать пока нормально релизнут
Anonymous
а то ручками пересобирать девтулз влом как-то =(
Bogdan
есть стейт, что бы в него что то засунуть, обязательно диспачить? тоесть, что бы запушить еще обьект, нужно в диспач екшен кинуть?
Maksim
Aleksei
А поделитесь опытом кто как делает, плиз. Если нам нужно несколько визуальных вариантов компонента (самый простой пример кнопка), то вы делаете один компонент и пропсы или же для каждого варианта делаете отдельный компонент. Ну и почему вы именно так делаете
Sm•ok
Giyos
Daren
Sm•ok
Думаю первый вариант, но без фанатизма
Eugene
По разному делал хд
А вообще Button type
Giyos
максимально реюзабельный говорит само за себя я думаю
Aleksei
Не понял
Ну можно сделать компонент Button и у нее проп variant: 'primary' | 'secondary'. А можно сделать PrimaryButton, SecondaryButton
Giyos
ты просто копируешь код
Giyos
зачем?
Eugene
А потом нужна иконка, а потом с другой стороны, а потом другой цвет)0)0
Aleksei
Ну не обязательно копировать. Можно через композицию сделать
Daren
Нарушаются базовые принципы реакта )))
Dmitriy
Victor
Товарищи, кто используется либы типа Storybook, Cosmos - может пользовались еще чем-нибудь и вам очень понравилось?
Dmitriy
Dmitriy
Dmitriy
Victor
ну, PropTypes
Vadim
Victor
Vadim
есть типа генератора "историй"?
Нет конечно. Откуда генератору знать какую инфа надо прокинуть в компонент чтобы он нормально отобразился? Вот например компонент картинка, как он тебе сам ссылку на картинку сгенерит?)
Victor
согласен... Но, например, есть в Elm есть Fuzzy тесты - ты указываешь тип данных, и тест прогоняется во всех возможных комбинациях.... Для общего случая - Component = ({ text }) => (<b>{test}</b>) - любая тестовая строка подойдет
Vadim
Тем более сториз для того чтобы показать и потестить разные варианты функционала компонента. Кому как не разработчику это делать.
Vadim
докз из коробки
У тебя их сайт робит? А то чет открыл посмотреть и нефига
Vadim
Dartess
Vadim
Dartess
На самом деле, не шутка, когда у них сайт падал я так и делал. Выбора не было.
Andre
скоро интернет закроют, так и будем на сайты заходить
Bogdan
есть формочка, можно как добавить еще, так и удалить, но при добавлении новой в консоль падает ошибка, типо компонент не управляемый, но когда начинаю вводить в инпуты, то все норм, можно кау то убрать ошибку?
Ilia
Добавляй обработчики на инпуты и ругаться не будет
Bogdan
Когда вводишь туда текст, все норм, создаётся поле нужное в нем
Anonymous
если скинешь код, то я мб тебе и помогу
Bogdan
Евгений
Ребят, есть withRouter и connect, подключенные через compose, мне нужны только pathname и history.back. Есть какой то вариант получать только их в mapStaToProps, и исключить тем самым перерендеринг в purecomponent? Есть ли какие-то ещё варианты, как такое сделать?
withRouter просто для примера, можно и контекст или другой hoc взять, просто есть ли какой-то вариант так сделать?
Daniil
Евгений
Ты про мемоизацию?
Вроде того, мапить стэйт нужно выборочно или мемоизировать, как угодно)
Евгений
Просто с compose, они же как матрёшка по факту работают
Евгений
Может в reselect можно готовый хок замотать) за любые подсказки буду крайне признателен
Nikita
гайс, кто знает, как в vscode отключить автореплейс string -> String?
Sergey
Anonymous
React web turned into react native ; who has an article for me
Anonymous
😳
Andrei
Announcing styled-components v5: Beast Mode 💪🔥 – 💅 styled-components – Medium
https://medium.com/styled-components/announcing-styled-components-v5-beast-mode-389747abd987
Bohdan
Всем привет. Посдскажите пожалуйста, где в связке React - Redux - Redux-saga слушать изменения в LocalStorage ?
Пока я подписуюсь в componentDidMount так:
window.addEventListener('storage', this.handleStorageChange);
по изменению мне нужно запускать redux - экшен . Где и как лучше это делать?
Daniil
Daniil
Sergey
Bogdan
Редюсер чистая ф-я?
Arthur
Bogdan
Да
Почему? Она ведь изменяет стейт
Arthur
Bogdan
И ?
Ну я вот читаю, что чистая фун я ничего не меняет
Arthur
Bogdan
Bogdan
Типо если консоль лог в ней, она уже не чистая
Roman
Рафис
Почему? Она ведь изменяет стейт
В рекомендациях пишется, что нельзя менять стейт напрямую. Поэтому в редюсере ты создаешь копию стейта, его меняешь и возвращаешь
Bogdan
Если редюсер меняет стейт, он влияет на работу программы, по этой статье, значит он не чистая фу я
Bogdan
Bogdan
Может в статье что то не так объясняют
アレクサンダー・バキマトフ
не чувак, не рассматривай редьюсер в контексте
アレクサンダー・バキマトフ
редьюсер просто возвращает новый стейт
Рафис
Редюсер будет грязным, если будет менять стейт напрямую, влиять на отображение напрямую и т.п.
Nikolai
В js не существует чистых функций