Stanislav
Сова завез новость
Anonymous
все равно ждать пока нормально релизнут
Anonymous
а то ручками пересобирать девтулз влом как-то =(
Sergey
Сова завез новость
так-то там не одна
Bogdan
есть стейт, что бы в него что то засунуть, обязательно диспачить? тоесть, что бы запушить еще обьект, нужно в диспач екшен кинуть?
Aleksei
А поделитесь опытом кто как делает, плиз. Если нам нужно несколько визуальных вариантов компонента (самый простой пример кнопка), то вы делаете один компонент и пропсы или же для каждого варианта делаете отдельный компонент. Ну и почему вы именно так делаете
Sm•ok
Думаю первый вариант, но без фанатизма
Eugene
По разному делал хд А вообще Button type
Giyos
максимально реюзабельный говорит само за себя я думаю
Aleksei
Не понял
Ну можно сделать компонент Button и у нее проп variant: 'primary' | 'secondary'. А можно сделать PrimaryButton, SecondaryButton
Giyos
ты просто копируешь код
Giyos
зачем?
Eugene
А потом нужна иконка, а потом с другой стороны, а потом другой цвет)0)0
Aleksei
Ну не обязательно копировать. Можно через композицию сделать
Daren
Нарушаются базовые принципы реакта )))
Victor
Товарищи, кто используется либы типа Storybook, Cosmos - может пользовались еще чем-нибудь и вам очень понравилось?
Dmitriy
Товарищи, кто используется либы типа Storybook, Cosmos - может пользовались еще чем-нибудь и вам очень понравилось?
docz песня если сможешь завести его без багов и если не нужно с тестами взать в будущем.
Dmitriy
Victor
docz песня если сможешь завести его без багов и если не нужно с тестами взать в будущем.
хм... а есть автоматические парсеры компонентов, чтобы сами выясняли какие пропсы есть? а то при смене апи компонентов мы получаем еще одно место, где надо править (помимо unit тестов и реального использования изменившихся компонентов в приложении).
Victor
ну, PropTypes
Vadim
есть типа генератора "историй"?
Нет конечно. Откуда генератору знать какую инфа надо прокинуть в компонент чтобы он нормально отобразился? Вот например компонент картинка, как он тебе сам ссылку на картинку сгенерит?)
Dmitriy
ну, PropTypes
докз из коробки
Victor
согласен... Но, например, есть в Elm есть Fuzzy тесты - ты указываешь тип данных, и тест прогоняется во всех возможных комбинациях.... Для общего случая - Component = ({ text }) => (<b>{test}</b>) - любая тестовая строка подойдет
Vadim
Тем более сториз для того чтобы показать и потестить разные варианты функционала компонента. Кому как не разработчику это делать.
Vadim
докз из коробки
У тебя их сайт робит? А то чет открыл посмотреть и нефига
Vadim
Сайт на гите есть, npm i npm start :D
я слишком ленив для этого)
Dartess
На самом деле, не шутка, когда у них сайт падал я так и делал. Выбора не было.
Andre
скоро интернет закроют, так и будем на сайты заходить
Bogdan
есть формочка, можно как добавить еще, так и удалить, но при добавлении новой в консоль падает ошибка, типо компонент не управляемый, но когда начинаю вводить в инпуты, то все норм, можно кау то убрать ошибку?
Ilia
Добавляй обработчики на инпуты и ругаться не будет
Bogdan
Добавляй обработчики на инпуты и ругаться не будет
Объект пустой, одна функция добавляет его как для истории так и для языков к примеру
Bogdan
Когда вводишь туда текст, все норм, создаётся поле нужное в нем
Anonymous
если скинешь код, то я мб тебе и помогу
Sergey
как бы отрефакторил?
https://youtu.be/y9qRkzwZF7o
Bogdan
https://youtu.be/y9qRkzwZF7o
Думал, что не грузит, оказывается завтра будет
Евгений
Ребят, есть withRouter и connect, подключенные через compose, мне нужны только pathname и history.back. Есть какой то вариант получать только их в mapStaToProps, и исключить тем самым перерендеринг в purecomponent? Есть ли какие-то ещё варианты, как такое сделать? withRouter просто для примера, можно и контекст или другой hoc взять, просто есть ли какой-то вариант так сделать?
Евгений
Ты про мемоизацию?
Вроде того, мапить стэйт нужно выборочно или мемоизировать, как угодно)
Евгений
Просто с compose, они же как матрёшка по факту работают
Евгений
Может в reselect можно готовый хок замотать) за любые подсказки буду крайне признателен
Nikita
гайс, кто знает, как в vscode отключить автореплейс string -> String?
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
React web turned into react native ; who has an article for me
@itsjohncena опять набег китайцев
Bogdan
Редюсер чистая ф-я?
Bogdan
Да
Почему? Она ведь изменяет стейт
Bogdan
И ?
Ну я вот читаю, что чистая фун я ничего не меняет
Vadim
Где ты такое читаешь ?
Мне тоже интересно ))
Bogdan
Типо если консоль лог в ней, она уже не чистая
Roman
Типо если консоль лог в ней, она уже не чистая
ну так не делай лог, в чем проблема
Рафис
Почему? Она ведь изменяет стейт
В рекомендациях пишется, что нельзя менять стейт напрямую. Поэтому в редюсере ты создаешь копию стейта, его меняешь и возвращаешь
Bogdan
Если редюсер меняет стейт, он влияет на работу программы, по этой статье, значит он не чистая фу я
Bogdan
В рекомендациях пишется, что нельзя менять стейт напрямую. Поэтому в редюсере ты создаешь копию стейта, его меняешь и возвращаешь
Короче бред, да даже если копия, он изменил, вернул новый стейт, повлиял на работу приложения
Bogdan
Может в статье что то не так объясняют
artalar
Если редюсер меняет стейт, он влияет на работу программы, по этой статье, значит он не чистая фу я
Сам по себе редусер стейт не меняет, он принимает старый стейт и возвращает новый, а меняется(!) он в сторе, стор - не чистая функция
アレクサンダー・バキマトフ
не чувак, не рассматривай редьюсер в контексте
Evgen
Если редюсер меняет стейт, он влияет на работу программы, по этой статье, значит он не чистая фу я
Тебе же только что написали: редюсер не меняет стейт, он создает новую копию данных для стейта с новыми значениями
アレクサンダー・バキマトフ
редьюсер просто возвращает новый стейт
Рафис
Редюсер будет грязным, если будет менять стейт напрямую, влиять на отображение напрямую и т.п.
Nikolai
В js не существует чистых функций