Daniil
хуки это не чистые ф, тред не имеет смысла
Anonymous
хуки это не чистые ф, тред не имеет смысла
чистыми они были до хуков, когда назывались stateless
Daniil
Потому что это не хуки были
Daniil
Сам же и ответил)
Anonymous
Потому что это не хуки были
короче ты меня не понял, то что сейчас происходит это превращение функции в аналог класса, а это уже делали 50 лет назад и пришли к ООП классам... Зачем нужна новая спираль мне не особо понятно
Anonymous
переиспользовать код с хуками легче
покажи пример, не могу в голове пока представить
Bogdan
подскажите, у реф ссылки можно детей перечислить?
Anonymous
Вас никто не заставляет, если нет согласия с реакт кор тим, то просто пишите в таком стиле, какой удобен вам.
Пишите очевидные вещи... зачем? Просто поддержать беседу и сразу обрубить её?
Daniil
Пишите очевидные вещи... зачем? Просто поддержать беседу и сразу обрубить её?
Обрубать тут нечего в общем. Эта беседа никуда не выльется и все пойдёт также как и всегда
Александр
короче ты меня не понял, то что сейчас происходит это превращение функции в аналог класса, а это уже делали 50 лет назад и пришли к ООП классам... Зачем нужна новая спираль мне не особо понятно
Нет такого, нет превращений функций в аналог классов, да и вообще реакт изначально не был ОО-ориентирован, классы там исключительно как декларация описания методов жизненного цикла и состояния были.
wolfe
классический тред фп vs ооп. истина где-то посередине, зачем спорить?
Александр
классический тред фп vs ооп. истина где-то посередине, зачем спорить?
Нет смысла, ровно как и просить убедить что нужно писать на хуках, не хотите чтобы было удобно и просто - используйте классы, никто не против же
Anonymous
Что-то я не особо понял, это конфиг валидатора насколько я вижу, но зачем он в виде хука?
wolfe
Что-то я не особо понял, это конфиг валидатора насколько я вижу, но зачем он в виде хука?
он передаст в объект ещё реактивные errors, я их просто пока не обработал ещё
Yuri
Пишем код где то посередине в общем )
Александр
Просто спор реально ни о чем, реакт тим аргументировали появление нового api в виде хуков в документации, так развивается библиотека (мне вектор развития нравится, разумеется кому-то нет), о чем тут спорить вообще, будем честны, мы (большая часть по крайней мере) мало сможем повлиять на развитие реакта
Anonymous
Просто спор реально ни о чем, реакт тим аргументировали появление нового api в виде хуков в документации, так развивается библиотека (мне вектор развития нравится, разумеется кому-то нет), о чем тут спорить вообще, будем честны, мы (большая часть по крайней мере) мало сможем повлиять на развитие реакта
Никто не спорит, просто есть мнение что это все это дорога в очко дьявола, сейчас сделают хуки на все случаи жизни и будет hooks hell, потом это как то причешут и далее один хер придут к какой то своей интерпретации ООП...
Anonymous
я не понимаю этот код, тут помоему просто какой то набросок и осилить его смысл я не могу
wolfe
я не понимаю этот код, тут помоему просто какой то набросок и осилить его смысл я не могу
не набросок, вполне себе работает. ошибки установятся в стейт и пойдут к компоненту, который использует хук. всё просто
Anonymous
не набросок, вполне себе работает. ошибки установятся в стейт и пойдут к компоненту, который использует хук. всё просто
Ну ладно, я просто не знаю механизма по которому вызоветься render в той функции, но в целом я не особо понимаю чем это лучше чистой функции которая берет форму и возвращает тебе массив ошибок?
Anonymous
тем, что errors можно будет отрендерить рядом с инпутом
Ну ок, можно сделать композицию функций которые тебе чуть ли не готовый html делают на основе формы...
Anonymous
зачем? мне этого не нужно. нужна именно валидация
ну дак ты все эти errors всё равно как пропсы кому то даешь?
wolfe
ну дак ты все эти errors всё равно как пропсы кому то даешь?
нет. здесь другая логика. хук изолирует именно от механизма валидации и делает errors реактивными, убирая под капот стейт с ними и саму функцию, которая их установит. это самый легкий пример
Anonymous
https://github.com/streamich/react-use
дак вот это и есть то о чем я говорю, огромный огород уже наплодили, когда все это вместе использовать будет каша
wolfe
дак вот это и есть то о чем я говорю, огромный огород уже наплодили, когда все это вместе использовать будет каша
если не соблюдать принцип разделения ответственности, то огород будет везде
Bogdan
такими извращениями достать размер попапа законно?
Anonymous
если не соблюдать принцип разделения ответственности, то огород будет везде
Я пока всё еще не понял как валидация на хуках помогают переиспользовать код... Так же я пока не понимаю зачем тебе функциональность хука для валидации
Anonymous
для того, чтобы использовать в разных компонентах так, как мне это нужно. не только в формах
Ты не поверишь, но валидация на функциях или классах куда мощнее кастомизируется, короче мне нужно поковырять реакт что бы понять
Evgeniy 🍀
Я бы с вами подискутировал на тему почему многие вещи лучше выражать императивно, но боюсь я буду делать это второй раз, да и слушать вы меня особо не будете
Вот вполне прикладной случай из реальной практики let fileServerNames = [], fileServerIds = []; this.model.osImageServeList.forEach((server) => { fileServerIds.push(server.id); fileServerNames.push(server.name); }); vs const [ids, names] = transpose(serverList.map(({id,name}) => [id, name])) 🤔
Anonymous
я сделал это так, как мне это было надо. не понимаю, к чему эти утверждения
Мне кажеться когда у тебя стоял выбор делать на композиции классов или функций ты выбрал хуки потому что это новое слово, пока ты ни фига не объяснил в чем киллер фича делать именно так
Evgeniy 🍀
здесь явное отображение, этот пример не канает для императив против фп
поехали отговорки)) Ладно, я согласен что дискуссия не имеет смысла
Anonymous
поехали отговорки)) Ладно, я согласен что дискуссия не имеет смысла
какие отговорки если для вас верх ФП это отображение одного массива на два?
Evgeniy 🍀
какие отговорки если для вас верх ФП это отображение одного массива на два?
это всего лишь простой пример. Но что такое фронтенд, как не отображение стейта приложения на HTML разметку?
Anonymous
это всего лишь простой пример. Но что такое фронтенд, как не отображение стейта приложения на HTML разметку?
Ну вообще-то отобразить стейт на html это задача реакт, а все остальное делаете вы, и очень часто ваш код императивный, даже если вам кажеться что он ФП
Bogdan
работать с дом в реакт как в нативном жс плохой тон?
Anonymous
вы так рассуждаете, будто видели мой код ¯\_(ツ)_/¯
ну вы же не затащили хаскель на фронт? значит и код у вас императивный где-то точно есть
Evgeniy 🍀
ну вы же не затащили хаскель на фронт? значит и код у вас императивный где-то точно есть
Можно подумать в этом есть какая-то пробема https://github.com/ghcjs/ghcjs Ну и по теме чатика: https://github.com/joelburget/react-haskell
Anonymous
вы так рассуждаете, будто видели мой код ¯\_(ツ)_/¯
сходит на сервер, проверить есть ли текущий заказ, если заказа нет создать новый, далее сходить в другое апи и взять от туда что-то и добавить в заказ, если там этого нету создать там и только потом создать заказ, сохранить заказ, уведомить пользователя что заказ создан, уведомить второе апи что эти штуки забронированы, есть смысл переводить в ФП?
Anonymous
Паттерн Сага, например. Ну или если прям ФП, то монады в помощь.
вы не знаете что такое монада... а сага это не ФП
Evgeniy 🍀
вы не знаете что такое монада... а сага это не ФП
Все знают, что это просто моноид в категории эндофункторов 😅
Anonymous
Короче ребята, вы похоже кроме реакта ничего не видели, давай закончим, это бессмысленно
Bogdan
Andrey
2019: обсуждают надо ли применять хуки в реакте господи, что же с нами стало
Anonymous
Паттерн Сага, например. Ну или если прям ФП, то монады в помощь.
Сага уже паттерном стала, да уж! на самом деле это какая то школьная подделка которая куда больше гемора дает в виде откатов чем пользы, за то бл.. теперь крутой цацкер может возомнить себя королем ACID транзакций, этакая психушка простите для избранных, взрослые дяди играются и я тоже буду только по своему по детски...
Volodymyr
Всем доброй ночи, у кого есть опыт работа Реакт + Ант? Нужна помощь с таблицей в Анте.
Volodymyr
Всем доброй ночи, у кого есть опыт работа Реакт + Ант? Нужна помощь с таблицей в Анте.
Вопрос такой, мне в таблице Анта по дефолту все строки надо сделать открытыми expanded: true. Но у меня это сделать не получается, проблема у меня в том что информация которую я получаю я записываю через useEffect() хук, и потом передаю в проперти таблицы в dataSource. Но увы по дефолту они все равно все закрыты...((( что с этим делать и как бороться.....???
Dmitry
я не понимаю этот код, тут помоему просто какой то набросок и осилить его смысл я не могу
Тут простой код. Я прочитал тред. Что-то не о чем. Если с хуком то тут как раз норм
Ivan
вы не знаете что такое монада... а сага это не ФП
Ну вы-то конечно знаете, что я знаю, а чего не знаю. Естественно.
Looch
коллеги кто хорошо знает jest ?
Looch
хорошо,вопрос такой,почему тест одного модуля заставляет jest каждый раз делать полный билд всего проекта ?
Anonymous
Паттерн сага был описан чуваками из Принстона в 87 году. Кек. «Сага паттерном уже стала» Да, она не ФП, но позволяет не вызывать сайд-эффекты, а декларативно их описывать. Что немного пахнет ФП.
Да насрать кем он был описан, я вообще не понимаю чего там выдающегося такого можно придумать обычная концепция, но как уже вам сказал она создает куда больше проблем для откатов. А если бы вы знали что такое и зачем монады, вы бы по другому мысли излагали, тот кто понимает монады, он врядли будет говорить что сага это ФП или хотя бы похоже... Да не никакой разницы вызываете ли вы или декларативно описывайте, давайте не будет смешивать декаларатив/императив и ФП/не ФП.