Roman
Спасибо, нашел, правда причина почему туда не захотели всунуть превПропс вызывает горькую улыбку
Victor
Мне надо запустить перерасчет кое-чего в window.innerHeight _после_ unmount компонента... Как быть? Когда срабатывает cWU, компонент еще в ДОМе..
Roman
getDerivedStateFromProps
И честно говоря, это значительно увеличивает код, так как надо пропс записывать в стейт, а на основании (него) prevState уже сравнивать с nexProps, раньше был хороший метод componentWillReceiveProps, который имел и this props и nextProps, что позволяло сравнивать их, а теперь такая же конструкция есть shouldComponentUpdate, хоть он для этого и не предназначем
Андрей
Добрый вечер, не подскажите как перенести проект на vagrant ? у меня есть папка с машиной, как ее использовать?
Андрей
а вы вагрантом не пользуетесь?
Андрей
и что?
Roman
а вы вагрантом не пользуетесь?
только docker, только хардкор
Roman
С другой стороны, есть componentDidUpdate
В shouldComponentUpdate сетСтейт отваливается, а componentDidUpdate после рендера
Roman
В shouldComponentUpdate сетСтейт отваливается, а componentDidUpdate после рендера
про рендер, да, к сожалению, но перерендерится
Roman
Почему отваливается? Работает
Я юзаю сейчас рн, при попытке вызвать сетстейт в нем - у меня ошибки, чтобы я такого не делал
Roman
Нет
Roman
Я сейчас не могу скинуть ошибку, но там пишет что это не место для его вызова, да и если в обычном реакте это можно, оно разве не вызовет два рендера?
Anonymous
Всем здрасте
Frontend Priest
да? а теперь представь что один разраб так думает, второй разраб так думает, третий, ... 100500й. В итоге в браузере 50 вкладок которые жрут память
Хранил тысячи записей с разными сущностями в стейте, максимум получалось создать стейт в 100кб жсончика, ни малейшего пролага не видел
Frontend Priest
https://artalar.github.io/reatom/#/?id=why-not-effector
> The weight can be smaller but it does not Ты ведь сам знаешь, что это не так
artalar
> The weight can be smaller but it does not Ты ведь сам знаешь, что это не так
У меня весь реатом меньше ядра эффектора
Anonymous
Frontend Priest
У меня весь реатом меньше ядра эффектора
Опять же, я уверен, ты видел тот_самый_тред_с_ситником, ты видел за и против веса эффектора, ну невозможно столько функционала запихнуть в размеры редакса или реатома
artalar
Не все
artalar
Но 90% нужного
artalar
Но 90% нужного
Что-то даже лучше вышло
Frontend Priest
Ну я запихнул...
Но у тебя централизованный стейт менеджер, это заведомо позволяет избавиться от некоторых подзадач
Frontend Priest
Пфф... Фронтенды не думают о памяти, вы про node modules не в курсе???)
Ну-ка, расскажи, что не так с нод модулями?
Anonymous
ну совсем это уже совсем пиздец, да
Мировое сообщество пришло к выводу что дешевле купить оператирки раз в три года чем научить фронтов следить за памятью
Sheldhur
мировое сообщество это ты и твой друган?
Frontend Priest
)
попробуй тоньше
Frontend Priest
💁‍♂ Главное что он решает пользовательские задача
Но он другой по концепции, его можно сравнить с эффектором по весу, но не со словами "эффектор мог бы быть меньше"
Pav
Привет, стоит ли писать на ts реакт проект, удобно ?
artalar
Но он другой по концепции, его можно сравнить с эффектором по весу, но не со словами "эффектор мог бы быть меньше"
Кого-то, например, раздражает необходимость диспатча, а не прямого вызова - я это себе в минусы записал в доке
Dmytro
Привет, стоит ли писать на ts реакт проект, удобно ?
Но только учтите что будет "больно")))
artalar
Почему?)
Если вы новичок в ТС с ним в принципе будет сложно поначалу. Как и с любым ЯП новым
invasion
Почему?)
Потому что в веб-деве люди не привыкли к статической типизаций
Dmytro
Я имел в виду написание своих HOC, хитрые и удобные конструкции котрыми вы пользовались в чистом js придётся либо переделывать под типизацию, либо искать другие решения. Этого конечно не много, но меня если честно по началу напрягало
artalar
Да и экосистема вся на хуках практически
Dmytro
Опять же, год уже хоки можно не использовать
Возможно я так говорю что мне попался TS на реакте без хуков еще
invasion
Привет, стоит ли писать на ts реакт проект, удобно ?
Удобство — дело привычки, если тебе нравится строгая типизация, и сам подход TS'а, то пиши. В чем могут быть проблемы?
invasion
Доводы?
Frontend Priest
Доводы?
Много проектов на тс написал?
invasion
На тс не писал, мне он не интересен в данный момент, но писал на Шарпе и Джаве
Roman
Я сейчас не могу скинуть ошибку, но там пишет что это не место для его вызова, да и если в обычном реакте это можно, оно разве не вызовет два рендера?
У меня подобная конструкция работает, если в shouldComponentUpdate я верну false, а setState перерендерит компонент
Roman
У меня подобная конструкция работает, если в shouldComponentUpdate я верну false, а setState перерендерит компонент
Проблема что purecomponent не работает и нужно все пропсы сравнивать самому
Frontend Priest
На тс не писал, мне он не интересен в данный момент, но писал на Шарпе и Джаве
Когда работаешь с бизнес-логикой, тебе не хочется тратить мозготопливо на низкоуровневые операции, тебе нужно максимум работы отдать на инструменты. С тс ты не отвлекаешься по несколько минут на говноребусы уровня "в каком порядке тут аргументы" и "есть ли тут это поле", ты просто пишешь логику. Плюс - тайпчекинг при компиляции это гарантии корректности исполнения, что-то вроде юнит-тестов. То есть, там, где всё покрыто типами, проблем будет в сотню раз меньше. И нет, типы - не дело вкуса, типы это инструмент, который где-то нужен больше, а где-то меньше.
invasion
Ты сейчас говоришь о другом
Roman
Проблема что purecomponent не работает и нужно все пропсы сравнивать самому
Ну если это нужно, то почему бы и нет, это удобнее чем в стейт записывать и со стейтом сравнивать
Anton
всем 👋 есть ли правило для eslint'а, чтобы запретить делать вот так (текст на строчке с закрывающим тэгом)? <Button type='submit' intent={Intent.PRIMARY} >Сохранить </Button>
invasion
Он спрашивает "удобно ли писать на тс?". Удобство — дело привычки, о чем еще речь может идти? Есть люди которые, например, пишут код в виме, ебутся каждый раз с хоткеями, но им удобно, потому что привыкли и им по кайфу. Понимаешь суть?
Anton
https://prettier.io/docs/en/options.html#jsx-brackets
это другое, по ходу, это чтобы '>' была на новой строчке
Anonymous
попробуй тоньше
А меня несколько старых ноутов лет 5-7 давности и когда я с них захожу на некоторые сайты и приложения я понимаю куда идёт прогресс
Roman
Ты же будешь тригерить рендер каждый раз когда рендерится родитель
invasion
Чувак, у меня кореш верстает клеарфиксом, ему нахер флексбоксы невсрались, а всё почему? Привык. Всё просто.
Nikolai
prettier настрой с eslint
Frontend Priest
А меня несколько старых ноутов лет 5-7 давности и когда я с них захожу на некоторые сайты и приложения я понимаю куда идёт прогресс
Как будто никогда не было говнодевелоперов, способных заставить виснуть девайсы среднего уровня
Roman
Куда надо, чтобы каждая мелкая организация / контора имела свой сайт, который можно легко сделать. Проблема в тех кто сидит с ноутами 7летней давности