Eugene
вот так я делаю проверку равенства одного поля другому https://github.com/today-/actorsmovies/blob/master/src/components/guest/Register.tsx#L97 можно и более сложные кейсы делать
у меня проверка на то, что числовое значение одного поля не может превышать значение другого поля
Eugene
все ок
Виталий
Народ, подскажите плиз как в CRA включить Istanbul код кавередж (я имею ввиду просмотр в браузере покрытия кода)? В документации ( https://facebook.github.io/create-react-app/docs/running-tests#configuration ) написано что можно включить любой coverageReporters Ссылка ведёт сюда https://jestjs.io/docs/en/configuration.html#coveragereporters-array-string где написано «Any istanbul reporter can be used» но не написано КАК это сделать
Андрей
Читал, понял, что PureComponent это хорошо. Не понимаю, почему тогда его всегда не использовать?
чистые компоненты обновляются только при изменении пропсов, а если пропсы не изменились, то и не обновятся, иногда это поведение вредное. Не обновится компонент если значение како-го нить поля изменить по ссылке. Не используй Пьюр без надобности. Используй только если точно знаешь что его использование необходимо например при оптимизации производительности.
Andrey
опять же из-за того, что ты увеличиваешь количество сравнений
Ilya
Лишний раз оптимизировать - плохая идея
если оптимизация не требует лишних усилий от разработчика то почему бы нет?
Andrey
кол-во сравнений vs кол-во перерисовок.
1 перерисовка vs 6 сравнений пропсов компонента
Pavel
Нужно ли использовать хук если при клике в функционатльном компоненте нужно запустить таймаут на изменения стейта defaultState = false -> click state = true -> start timeout 5sec-> after setState false
Ilya
1 перерисовка vs 6 сравнений пропсов компонента
одна перерисовка не равна одному сравнению. Так что цифры ни о чем не говорят
Ilya
до первого дебага
а какие проблемы с дебагом?
Дима
когда из-за оптимизации тормозит всё))0
Ilya
типо где-то не заметили и смутировали?
Dmitriy
@itsjohncena не терпишь китаёзов?)
Андрей
типо где-то не заметили и смутировали?
компоненты не обновляются когда нужно
Cenator 🐈
Ilya
компоненты не обновляются когда нужно
а что значит когда нужно? нужно тогда когда данные поменялись.
Андрей
а что значит когда нужно? нужно тогда когда данные поменялись.
вот именно данные поменялись, а пропсы не поменялись и компонент не обновился
Андрей
а что значит когда нужно? нужно тогда когда данные поменялись.
к сожалению сейчас пример привести не могу, но у меня точно были проблемы с пьюром
Ilya
вот именно данные поменялись, а пропсы не поменялись и компонент не обновился
а зачем мутировать данные? Ну то есть надо веди решить либо мы работаем с мутабельнымми данными либо нет. И придерживаться чего-то одного.
Volodymyr
@ZeroBias Подскажи пожалуйста, где посмотреть такие правила и на подобие, а именно : ( каким по величине должен быть компонент ) колличество строк и т.д.
Roman
всем привет использую react-router-dom это нормально что нет возможности использовать nested path и надо каждый раз для каждого роута прописывать его полный path?
Victor
минус один значит не согласен? Почему?
не согласен - е2е тесты медленны
Victor
@ZeroBias Подскажи пожалуйста, где посмотреть такие правила и на подобие, а именно : ( каким по величине должен быть компонент ) колличество строк и т.д.
вопрос не мне, но как правило - если функция не влазит в экран - разбиваем ее на несколько. То же самое с компонентом. В крайности не кидаемся. Это придет со временем
oneonwar
Подскажите пожалуйста что я делаю не так
oneonwar
oneonwar
это лефлет
Volodymyr
вопрос не мне, но как правило - если функция не влазит в экран - разбиваем ее на несколько. То же самое с компонентом. В крайности не кидаемся. Это придет со временем
не, тут вопрос в другом, есть компонент на 1000+ строк, как доказать людям что это плохо, но аргументированно ссылаясь на какие то практики ?
oneonwar
oneonwar
кодец
Volodymyr
дать им задачу на внесеие изменения в этот код)) Вопросы сразу отпадут
ну у меня задача стоит, мы забираем проект у вендора, который что то педалил для клиента, и они запедалили компонент на 1027 стро кода + тест к нему на 700 строк кода, и я вот хочу понять как бы корректнее и правильнее мне им это обьяснить, что бы они это переделали.
Volodymyr
много кода не всегда плохо
не подскажешь как поддерживать такой компонент ?) Есть практики ?
Victor
ну вот тут прям сразу const map должен быть отдельным компонентом, сфига там MyMap еще, который чиста обертка...
Victor
просто опыт, не сдавайся, пишыесчо, как говорят
Dmitry
не подскажешь как поддерживать такой компонент ?) Есть практики ?
Нету. По обстоятельствам. Вот к примеру хук и в нему вполне можно написать различные функции для работы с данными. И это может занять много места
Dmitry
Зачем дробление ради дробления? И папочки ради папочек?
Dmitry
Давайте писать все монолитом ?
Дело не в монолите. Зачем одну логику размазывать?
Volodymyr
mapStateToProps который возвращает 12 пропсов.... PropTypes описание в 150+ строк
Volodymyr
Дело не в монолите. Зачем одну логику размазывать?
это не читаемо, кроме единственной ответственности нарушение еще и чистоты кода.
Dmitry
Я не про пропс. Я про логику. Вот у нас в проекте нету кучи папочек. Я сначала прихуел от количества кода и файлов. Но потом стало ясно и читабельно. А разнести если то будет пиздец. Но проект сам монорепа
Dmitry
В не кучу не связного кода в файл
Volodymyr
В не кучу не связного кода в файл
фичерсный подход 1 папка в которой одна фича и все нужные файлы к ней, это лучше чем в разброс файлы экшенов, редьюсеров и прочего
Dmitry
Но фичи не единственное
Frontend Priest
Dmitry
В монорепе все по фичам тоже как бы
Frontend Priest
эджкейсы === доказательства ?
Volodymyr
речь именно об одном компоненте, который надо пилить чтобы пилить, не убегай от темы
имхо, личное мнение и опыт показывает что чем мельче задлене компонент, тем проще заимствовать нужные вещи и поддерживать отдельно, недели 1000+ строк кода
Volodymyr
1000+ это уникальный кейс, зачем ты вечно приплетаешь его?
потому что я обратился с проблемой по своему кейсу, верно ?
Frontend Priest
200 это читабельно?
Frontend Priest
а 350?
Frontend Priest
а 150?
Frontend Priest
а 100, но с кучей вложенных анонимок?
Frontend Priest
правил нет и не будет, расслабься
Volodymyr
а 100, но с кучей вложенных анонимок?
В твоем случае пошел сейчас просто доставания меня в частности для какого твоего самоутверждения ? Просто есть конкретный вопрос, не знаешь ответ не реагируй, ИМХО. Я считаю что МОЙ кейс, повторяюсь, мой КЕЙС - это лишнее иметь компонент на 1000+ строк кода.