Valentin
ну ты чего, камон, если ты переходишь по ссылке <a, ты перезагружаешь страницу, но роутинг произошел не на беке, а один фиг на клиенте
Дык это другое. Если роутинг происходит на клиенте это может быть спа. Если с бека. То точно не спа. Опираюсь на время когда появился хеш роутинг (первые спа). Но ещё было оч много сайтов которые генерировали страницы с бека, а-ля пхп
Bogdan
Дык это другое. Если роутинг происходит на клиенте это может быть спа. Если с бека. То точно не спа. Опираюсь на время когда появился хеш роутинг (первые спа). Но ещё было оч много сайтов которые генерировали страницы с бека, а-ля пхп
так бек вернет не страницу текущую - а именно бандл, кторый опять выполнится на клиенте, это не черта спа?? или то, что перезагрузилась страница - все это игнорируется?
Valentin
так бек вернет не страницу текущую - а именно бандл, кторый опять выполнится на клиенте, это не черта спа?? или то, что перезагрузилась страница - все это игнорируется?
Ох. Крч. Безшовность - главная черта и мб единственная. Спа. Тк правильно сказали под эти критерии дальше может идти пва. Имхо
Bogdan
смотри, есть бек, на нем допустим выстрадать можно, на каждый урл запрос как обычно - все рендерить на беке, брать новую - готовую страницу, перезагрузки нету - но страницу то ты от бека загрузил, роутинг на беке сделал, хз возможно ли такое, но вот если сделал кто то так
Valentin
смотри, есть бек, на нем допустим выстрадать можно, на каждый урл запрос как обычно - все рендерить на беке, брать новую - готовую страницу, перезагрузки нету - но страницу то ты от бека загрузил, роутинг на беке сделал, хз возможно ли такое, но вот если сделал кто то так
хм.. думаю нет. Кроме безшовности, HTML документ единственный и предоставляет оболочку для приложения внутри. <!DOCTYPE html> <html> <head> <title>SPA</title> </head> <body> <div id="app" /> </body> </html> при начале работы челик имеет что то похожее. И во время всей работы в приложении эта оертка не меняется. Но возможны дищамические подгрузки ресурсов (html, css, js, ....)
Erlich
подскажите плиз, как это исправить?
Erlich
вот от сюда устанавливал https://caferati.me/demo/react-awesome-slider/autoplay
Erlich
внизу те же строчки
Yury
так ошибка-то в чем?
Pauline
🙄
Bogdan
но это не значит, что я не какаю))) глупый конечно пример, но все же, короче вообще прора забить на спор
Roman
Как называется HOC, который как JSX вызывается? Т е вместо const newComp = HOC(Comp); пишется <HOC {...propsHoc}><Comp {...propsComp}/></HOC>
Roman
У него нет особенного названия.
т е его так же можно называть HOC? Или нельзя?
Ivan
Поднимай рядом любой npm репозиторий и вперёд.
Зачем? https://stackoverflow.com/questions/17509669/how-to-install-an-npm-package-from-github-directly
Андрей
Зачем? https://stackoverflow.com/questions/17509669/how-to-install-an-npm-package-from-github-directly
Потому что хранить артефакты в репозитории - такое себе. + у в РФ есть такой чувак как РКН, который может любой ресурс положить. Готов без репозитория оказаться? Мы уже оказывались без репы. Не понравилось. Спасибо. Теперь только через кеширующий прокси работа.
Roman
Парни, если у меня несколько юзеСтейт как их в контекст провайдер запихнуть через валью? Можно ли несколько валью делать?
Roman
если у тебя несколько useState, используй useReducer
Я хочу без редьюсера, это возможно?
Ivan
Я хочу без редьюсера, это возможно?
прокидывай объект в value, как написал Андрей выше только «я хочу без редьюсера» — это странновато
Roman
value={{a, b, c}}
Попробую спасиб)
Андрей
У меня философия атомарных хранилищ в приложении
Тогда используй стейт менеджер, а не создавай свой костыль на примере контекста.
Юрий
ребят, подскажите, у меня в модалке есть локика отправки данных, использую redux-saga, сейчас засунул экшн на закрытии / открытие модалки прям в сагу в try после success, я так понимаю это не совсем правильно. как мне правильно закрывать модалку после успешного запроса внутри модалки? (модалки на создание нового юзера, удаления, изменения пароля и тд)
Shimon
Всем привет. Вопрос не совсем по Реакту, но, надеюсь, простите. Был сейчас на собеседовании. Спросили как можно сделать асинхронные вещи синхронными. Я ответил: async - await. Они: а как еще? Я хотел ответить, что никак. Но струсил. А как, действительно?
Ivan
Потому что хранить артефакты в репозитории - такое себе. + у в РФ есть такой чувак как РКН, который может любой ресурс положить. Готов без репозитория оказаться? Мы уже оказывались без репы. Не понравилось. Спасибо. Теперь только через кеширующий прокси работа.
ну а поднимать свой npm-registry, когда тебе нужно задачу сделать вчера, рядом армия девопсов, которые не подпускают тебя к конфигурации корпоративного контура и смеются над словом javascript у всего есть свои минусы установить пакет по ссылке на репозиторий — самый быстрый и простой способ
Андрей
Почему костыль) я в целях обучения
Тогда готовься, что твои атомарные хранилища превратятся в стейт менеджер.
Александр
От использования async / await никуда асинхронность не девается, асинхронный код всегда будет оставаться таковым
Dmitry
Ну у некоторых асинхронных функции можно указать параметр, чтоб они синхронно выполнялись
Shimon
Promise Callback
А почему промис это синхронно?
Александр
Ну у некоторых асинхронных функции можно указать параметр, чтоб они синхронно выполнялись
На ум приходит только синхронная версия XHR, которая deprecated, а какие еще?
Shimon
Генераторы и yield
Можно чуть подробней?
Александр
Можно чуть подробней?
Корутины на генераторах, в применении к реакту это будет redux-saga
Yury
Ну буду исследовать
вот и я на внутреннем проекте заюзал Контекст, так как обещали очень маленькую приложуху. Сейчас разрастается - и понимаю что сделал стейт-менеджер на контексте. Пока ничего страшного не произошло, но на выходные запланировал переписать на redux/reatom, чтобы дальше не тянуть
Roman
Всем привет. Вопрос не совсем по Реакту, но, надеюсь, простите. Был сейчас на собеседовании. Спросили как можно сделать асинхронные вещи синхронными. Я ответил: async - await. Они: а как еще? Я хотел ответить, что никак. Но струсил. А как, действительно?
никак вообще. ни async/await, ни генераторы не делают код синхронным они дают возможность писать код "как буд-то" он синхронный, но синхронным он от этого не становится
Александр
Но асинронный код все равно не станет синхронным от этого, едиственное что он может *выглядеть* как синхронный, например в случае упомятого вами async/await
Александр
Во, опередили с ответом, все так
Shimon
никак вообще. ни async/await, ни генераторы не делают код синхронным они дают возможность писать код "как буд-то" он синхронный, но синхронным он от этого не становится
Ну, да. Вопрос об этом и был. Сделать так, чтобы выглядело как синхронные. Чтобы следующая строчка просто не выполнялась пока не завершиться предедущая
Александр
Зачем вообще пытаются такие вопросы с подвохами задавать на интервью, зачем? Цель уличить кандидата в том что он какой-то кейс не учел в стрессовой обстановке?
Shimon
ну как для интервью может быть вопрос с подвохом))
Ну может быть. Хотя странно. Так как остальные вопросы были абсолютно элементарные, типа, чем отличается пропс от стейт. И синхронный ли Node.js
Александр
заменить libevent/libuv на что-нибудь своё :)
Это уже не JS будет, без event loop'а
Alexey
Это уже не JS будет, без event loop'а
ну, вопрос с подвохом - ответ с подвохом :)
Shimon
Может они имели в виду Node. Там есть что-то по этому поводу?
Александр
Alexey
Збс собеседование провели
ну, как минимум можно было бы показать, что в курсе, хотя бы элементарно, как оно там внутри устроено)
Arsenii
Можно чуть подробней?
Вот пример https://repl.it/repls/OblongFailingAssignments
Roman
ну, вопрос с подвохом - ответ с подвохом :)
норм ответ ну у нас просто классических собеседований не проводят, но я бы зачёл)
Александр
как это?
Ну ок, язык то может и JS останется, но нас же интересует связка с web api предоставляемым браузером обычно, так вот это все не будет работать привычным образом уже
Александр
в ноде нет веб апи, например а в кастомных реализациях вообще может быть что угодно
в ноде такая же модель исполнения js с основным циклом же
Maksim
в ноде такая же модель исполнения js с основным циклом же
апи другой только, но к языку это не относится
Александр
Ну ок
Yury
подскажет кто-то? 🤔
а ты по редаксу есть в чате?
Maksim
реализация языка это не нода и не браузер, а v8 например, остальное обвязка
Юрий
диспатчить action типа CLOSE_MODAL когда нужно закрыть?
сейчас это и делаеться. но внутри саги вот так: try { yield call(() => request yield put(success()); yield put(showModal or hideModal()); } catch (e) { yield put(err); } }
Юрий
из-за этого проблема в том, что я не могу сделать свои модалки универсальные, (прокидывать в модалку пропсы с функциями)
Юрий
так как внутри саги я не могу ведь вот так написать: yield put(modalActions.showModal({ body: { onClick: () => { history.push("signin"); put(modalActions.hideModal()); }, closeModal: () => { put(modalActions.hideModal()); }, emailAddress } }, "FORGOT_PASSWORD")); в сагах же нету dispatch, а в модалке у меня нужен dispatch что бы вызвать функцию из пропсов
Юрий
useDispatch
в сагу запихнуть useDispatch, что бы отправить модалке мой диспатч экшена?