Aleksandr
Со стейтом маппинг и диспач как вы написали. С компонентами, разные преобразование данных, выполнения тех или иных операций при определенном стейте
Alexey
так, погоди преобразование данных для отображения или чтобы обратно в стейт записать?
Aleksandr
Для отображения
Андрей
А существует какой-нибудь репозиторий полезных хуков?
Aleksandr
awesome hooks попробуй
Alexey
Для отображения
ну так это обычный смарт-компонент же
Alexey
забрал данные, смапил в табличку, показал
Aleksandr
ну так это обычный смарт-компонент же
Так я помню начитался статей и прочее, мол разделять смарт и дамб компоненты
Aleksandr
Даже статья от дан Абрамова была
Alexey
а, да забей, иногда DRY только усложняет
Андрей
Понятно, понадобится самостоятельно пилить гарантированную мемоизацию данных в компоненте.
Aleksandr
а, да забей, иногда DRY только усложняет
Согласен, что ось изменений надо учитывать. Вы все в одном файле пишите и вью и логику/конект/хоки/хуки?
Aleksandr
Ну вот и я прихожу, если компонент не может бытьпереиспользован то обвешивать логикой в одном файле
Alexey
Согласен, что ось изменений надо учитывать. Вы все в одном файле пишите и вью и логику/конект/хоки/хуки?
у нас на компонентах и тайпскрипте в одном файле интерфейсы стейта/пропсов, класс, мап в пропсы и export через хоки
Андрей
Ну вот и я прихожу, если компонент не может бытьпереиспользован то обвешивать логикой в одном файле
Вопрос не в том, что ты пишешь всё в одном файле, а в том, что у тебя сущности жирные.
Alexey
Ну вот и я прихожу, если компонент не может бытьпереиспользован то обвешивать логикой в одном файле
у Абрамова того же, кстати, есть how-to, где говорится, пиши всё в одном файле. Если кажется, что так неудобно будет - раскидай по нескольким файлам :)
Андрей
Простой пример: 100500 сущностей в файле https://github.com/XaveScor/chat-builder/blob/master/src/createPage.js Но от этого он легко воспринимаемым и читаемым быть не перестаёт. И да, это реальный проект, который сейчас работает в продакшене, а не модельная штука.
Aleksandr
Вопрос не в том, что ты пишешь всё в одном файле, а в том, что у тебя сущности жирные.
Вы имеете ввиду Переис пользование вью например То что пол вьюхи из файла скопипащена из пятимест
Alexey
https://mobile.twitter.com/dan_abramov/status/1027248875072114689
Aleksandr
Спасибо за ссылки, почитаю
Alexey
annoying-driven development pattern
Aleksandr
Спасибо за дискуссию, думаю нашёл ответ на свой вопрос
Alexey
доброй ночи
Natalia
Привет скажите делаете ли вы короткие ссылки и есть ли траблы если в Линке зашит токен
Natalia
Заказчик умри но хочет короткие ссылки
Natalia
Они с апи и так полные пойдут
Mikhail
Народ, немного офтоп Firebase позволяет реализовать полноценный бек? Допустим проинициализировать две базы (пассажиры, поезда), реализовать crud операции, написать свою серверную логику (пассажир сел на поезд, пассажир забронировал поезд)?
Mikhail
Поезда тут для примера, просто пытаюсь понять что за зверь firebase
🅅aleriy
обычно она находится либо внутри SPA, либо внутри мобильного приложения, либо в лямбдах выполняющихся в облачных сервисах типа now.sh
Mikhail
Блин, куда копать если мне нужен бек со сложной бизнес логикой
🅅aleriy
Блин, куда копать если мне нужен бек со сложной бизнес логикой
а чего там копать? что за сложная бизнес-логика у тебя?
🅅aleriy
Ну окей, не сложная, просто бек
ну для начала берешь самое простое и вылизанное - ruby on rails
🅅aleriy
создаешь прототип приложения быстро, находишь хостинг бесплатный типа heroku, хостишь, тестишь
🅅aleriy
как только пойдет нагрузка на сайт и хост перестанет справляться начинаешь масштабировать или искать платный хостинг
🅅aleriy
а к тому времени как проект взлетит и появятся более менее существенные нагрузки ты уже будешь знать java :))) и сможешь написать полноценый бакенд
Nikita
подскажите пожалуйста, есть компонент в котором я отслеживаю скролл при маунте приложения скроллинг = false затем при сколе меняется на тру как только компонент скролится до конца мне нужно выполнить колбек Как отследить состояние false, но не первое вхождение Нужно юзать 2 хука? Один с пустым []
🅅aleriy
можно ведь serverless заюзать
если приложение не очень большое, то вполне все в SPA можно засунуть и заюзать firebase
Mikhail
Окей, давай зайдём с другой стороны)
🅅aleriy
данные будут синкаться автоматом между всеми несколькими клиентами приложения
Mikhail
если приложение не очень большое, то вполне все в SPA можно засунуть и заюзать firebase
То есть вся логика на клиенте, а через firebase просто обновлять документы?
🅅aleriy
на самом деле на реакте + firebase можно создать очень крутые приложения
Mikhail
А такие вещи, как, например, подтверждение брони поезда, происходит тоже на клиенте, но у админа Окей
Mikhail
Но я зайду с другой стороны)
🅅aleriy
А такие вещи, как, например, подтверждение брони поезда, происходит тоже на клиенте, но у админа Окей
все на клиенте можно делать, если сервисы сторонние, к которым клиент обращается поддерживают CORS
🅅aleriy
там где не поддерживают делай lambda (cloud functions) на сервисах типа now.sh
Nikita
отправишь
🅅aleriy
подскажите пожалуйста, есть компонент в котором я отслеживаю скролл при маунте приложения скроллинг = false затем при сколе меняется на тру как только компонент скролится до конца мне нужно выполнить колбек Как отследить состояние false, но не первое вхождение Нужно юзать 2 хука? Один с пустым []
у тебя есть ссылка на элемент в DOM, у тебя есть колбек на скролл, ты знаешь полную высоту скролируемого элемента и текущую позицию скрола, ты легко можешь вычислить является ли текущая позиция скрола конечной для элемента
Nikita
да это понятно, думал есть какое-то решение более элегантное
Nikita
спасибо
Mikhail
Кароч, меня очень проперли статик сайты. То есть мы берём Gatsby и можем написать полновесный и сложный фронт, сбилдить, задеплоить и у нас тупо статичный сайт хостится
🅅aleriy
компонент маунтится, получаешь реф на элемент, вешаешь колбек на скрол компонент анмаунтится - удаляешь листенер в колбеке считаешь является ли позиция конечной
Nikita
кстати чем gatsby отличается от next.js?
Nikita
если в кратце
Mikhail
Но ведь по идее можно прикрутить к нему бек, который не будет брать на себя роутинг и динамику, а будет отвечать только за базу и бизнес логику
Mikhail
@ValeryKobzar вот я хочу понять, на чем такой бек реализовать
🅅aleriy
если в кратце
тем что он "Blazing fast modern site generator for React."
Mikhail
кстати чем gatsby отличается от next.js?
Гетсби после билда отдаёт тупо статику
Mikhail
Которую ты хостишь где угодно, и клиенты грузят заранее сбилженные html странички
Sergey
@ValeryKobzar вот я хочу понять, на чем такой бек реализовать
на чём угодно. руби, ларавель, друпал, вордпресс, битрикс, нода — да миллион вариантов. у того же вордпресса нынче на удивление адекватный апи имеется. но этот вопрос сильно вылезает за рамки реакт-чата. тут предпочитают иметь уже готовый API :)
Nikita
а что если много роутов?
Nikita
все сбилдится зарание
Nikita
я так понимаю там свой роутинг какой-то
Nikita
ладно гляну
Mikhail
все сбилдится зарание
Да, но для новостного сайта с +100 материалами в день конечно не пойдёт
Nikita
да попробуй serverless