Функция connect не является HOC'ом, а вот результат её вызова возвращает уже HOC куда мы и передаём нашу компоненту. Маленькая неточность в определении, а видос в целом крутой
Как всегда круто, глубоко и интересно. Очень нравится формат видео. Коротко, информативно, доступно. Однозначно лайк и подписон) Хотя, конечно, любви к такого рода вопросам на собеседовании не разделяю. Скорее проверка не на скилл, а на наличие личной жизни у кандидата)
@@it-sin9k Привет! Подскажи пожалуйста, код сплиттинг редакса - частая практика? Использовал на своих проектах? Потому что без код сплиттинга никуда, но почему то с редаксом не припомню чтобы кто-то разделял загрузку редюсеров.
@@ArtikMan1994 Честно говоря, лишь единожды делил Redux стор. Сейчас как то все больше набирает популярность Микрофронты, а там у каждого свой Redux, И вот тебе и поделились)
@@it-sin9k Понял. Спасибо большое что оперативно отвечаешь на вопросы. Это очень приятно. Тем более от разработчика такого уровня=) Кстати, мб будет интересно, но все же напишу: изучал RTK Query. Писал блог из документации. Там одна функция сразу же нагружает процессор на 95% даже если проект не запущен (мне достаточно лишь раскомментировать эту функцию). Впервые с таким сталкиваюсь. Написал им issue на гитхабе, но вряд ли ответят. Не буду советовать ее использовать, несмотря на то что в оф.документации редакса ее советуют...
не за что :) Как то про RTK Query часто слышу сомнительные отзывы) думаю позже руки дойдут его потыкать, и обзоры сделать) а пока активно готовлю новую тему) крайне воодушевлен, тем что раскопал)
Как всегда качественно, но я не могу понять, зачем это спрашивать в 2021? Как вариант, в секции про css и стили можно спросить как верстать на таблицах :)
Есть много старых проектов, написанных на классовых компонентах, которые до сих пор не спешат перейти на функциональные. Вот таким проектам нужны люди, которые знают как работать с устаревшим подходом.
@@frontenddeveloper7987 Если там используется четвертый параметр коннекта, то я просто гляну документацию. А вот серьезно, зачем такое держать в памяти?
@@serheliusperchuk5298 а если не используется 4 параметр. А наоборот нужно за-использовать 4 параметр, откуда догадаешься о его существовании? Узнать где именно зарыта собака в давно работающем проекте, не всегда быстро решается.
Хмм, я поэтому в начале видео и предупредил, что это устаревший немного вопрос и его сейчас не задаю :) Но я бы не ставил это в сравнительный ряд с таблицами, не настолько неактуальный вопрос) Думаете про useSelector легче ответить, чем на это?)
Тут несколько комментариев :) Я не спрашивал обычно, что из себя представляет 4-ый параметр и какие у него свойства. Максимум мог спросить "сколько параметров принимает connect?". Это помогает понимать, насколько ты хорошо знаком с инструментом :) А по поводу твоего комментария, если ты не знал, что четвертый комментарий существует, тогда у тебя никогда и вопроса не возникнет, чтобы загуглить 4-ый параметр, что там вообще такое)
по mapStateToProps я бы добавил вопрос - что является вторым входным параметром данной функции?) (ответ добавлю в трэд коммента для тех кому интересно)
Боброго времени суток. Много рылся в интернете по вопросу динамически добавляемых редюсеров, но так и не понял, есть ли возможность подрубать/отрубать слаисы в момент подгрузки лейзи компонента их содержащего, чтобы не разрастался безконтрольно базовый стор. Причём условие такое, чтобы в первоначальном бандле никких упоминаний о данном редюсере не было, он приходил бы внутри чанка с компонентом либо отдельным чанком. Проце говоря, приходил бы готовый кусок приложения со воим стором, секлекторами, блекджеком и мидлверами.
Наконец-то годнота подъехала )) Ждем от тебя больше видео ) может даже стримы. Хотелось бы побольше разбора работы разных библиотек как они под капотом работают и т/д/
Меня волнует что это спрашивается на собеседовании. Много кандидатов могут ответить на эти вопросы? А в твоей практике, как часто ты используешь 4й параметр коннекта?
Я вижу много комментариев про 4-ый параметр) но видимо, я плохо донес, что именно является основным вопросом) Скорее я обсуждал как работает mapStateToProps. Как предотвращать ненужные рендеры и как можно выстрелить себе в ногу. Конкретно этот вопрос, я сейчас не задаю больше, т.к. connect уже не очень актуален. Но раньше отвечали прям полностью правильно (без вопроса о 4-ом параметре), примерно 20-25%. Чаще всего это были действительно опытные синьоры
Впервые услышал про connect, открыл документацию по нему и увидел "We now recommend using the React-Redux hooks API as the default. However, the connect API still works fine." Этот синтаксис ещё используется, стоит ли уделять ему внимание?
Я создал пост в сообществе, где прошу всех прислать вопросы, которые вы считаете хорошими для собеседования. И сделаю на эту тему видео ua-cam.com/channels/lgj-KWiNaOo9H1rz1ISO6Q.htmlcommunity
Много раз заставлял ковырять этот state management, так и не разобрался, очень громоздкий … отдал предпочтение Zustand - никаких тебе экшенов, диспетчеров и прочей шелухи, буду благодарен увидеть ролик по Zustand и сравнению его с Redux
Расскажите про паттерн репозиторий? Сколько не смотрю русскоязычные туториалы ну и зарубежные тоже. Почти никто не использует данный паттерн и все хардкодят повторяя один за другим, а хотелось бы чтобы приложение было максимально простым для изменения.
Я думаю, пока нет ни одной причины полагать, что Redux уйдет в закат в ближайшее время. По крайней мере, пока не изобретут, что то новое более революционное. Но пока ничего революционного не слышно
Не всегда) У меня есть опыт работы с мультисторами с flux и mobX. Там полная свобода взаимодействия между сторами. Поэтому на проекте приходилось придумывать особые правила, как можно делать, как нельзя. Потому что общих best practise например как писать на mobX не существует. Тем более на Effector :)
@@it-sin9k сейчас ребята начали писать доку по эффектору как делать правильно, а как нет. Разжовывая и раскладывая по полочкам. Думаю через год оформится во что-то вразумительное.
Спасибо🥇. всегда интересовал этот момент, но лень было изучать. Старался просто придерживаться рекомендациям разработчиков. А как вы относитесь к рекомендациям. Наверное есть свое мнение по позициям. Понятно, что это широкая тема 🔬
Я вообще очень положительно отношусь к рекомендациям. Тут конечно зависит от того кто именно рекомендует и что именно. Если это best practices проверенный годами, то я почитаю / поспрашиваю почему именно так вышло. Если ко мне на проект пришел новый синьор помидор и говорит давайте все перепишем на Эффектор, потому что на прошлой проекте попробовали и было круто. То это звучит, словно мы хотим переписать проект, только потому что ему та технология в данный промежуток времени нравится больше. На ситуацию надо смотреть шире. Какую проблему мы решим, будет ли эта технология развиваться и спустя 5 лет и т.д.
@@it-sin9k Спасибо, что нашли время ответить. я сам использую в своих небольших проектах createStructuredSelector, но в больших чужих проектах я не встречал.. что не так с этой функцией)? И хотело бы ваших видео обобщенных правил(возможно микроскопических), которых придерживается ваша команда из проекта в проект, на правленных на стабильность в realtime.
И у программиста бывает карма. За свои прегрешения перед кодом, программист перерождается в виде frontend-разработчика, где на собеседовании у него будут спрашивать про css, redux, а в особо тяжелом случае - про connect с 4-м параметром.
Вопросы из области Я умнее чем ты. На все могу ответить открыв документацию либо запустив код с выводом в консоль. А вы можете поэтапно написать на листике код для запуска редакс в браузере побитово? Ну что же вы за программист тогда?
Я думаю вы немного утрируете. Если кто-то не до конца понимает, как mapStateToProps проводит сравнение с помощью shallowEqual. Это не значит, что он джун или еще слабее. Это лишь значит, что этот человек не очень увлекается улучшением перфоманса. В этом случае он для разработки высоконагруженных проектов, таких как например мессенджеров, видео аудио звонков и т.д. этот человек может не подойти, т.к. в таких проектах есть большой запрос, на то чтобы уметь в мелких моментах улучшать перфоманс. Опять же я открыл рубрику, присылайте мне вопросы, которые вы считаете очень хорошими для собеседования на почту blue.sin9k@gmail.com. И я постараюсь это опубликовать :)
@@it-sin9k на любой чих в сторе, так или иначе вызываются все подписчики. Да там может быть мемоизация, но это не отменет сами вызовы. Взять тот же redux-form. Отличный пример проблем с первормансоам самого redux. Какое было решение проблемы? - закрыть проект.
@@user-yw9wx4lv2w Все верно. Разница лишь в том, как использовать redux. redux-form вызывал экшены в огромном количестве. Нажал на инпут === экшен, ввел букву === экшен и так на каждый чих иногда и сразу несколько экшенов. redux-form закрылся из-за того, что осознал, что злоупотребляет редаксом. Но при всем своем злоупотреблении, проект дожил вроде до 8 или 9 версии и у меня было много проектов с ним. И ни один сайт не лагал из-за внедрения формы. Потому что современному компьютеру все по плечу. А представь, если в redux хранить данные, только которые используются между экранами. Это значит только иногда читать данные и иногда записать. В таком случае вообще без разницы какой стор использовать и насколько он плох. Гораздо важнее уделить внимание самому реакту. Какие компоненты и когда рендерятся, что действительно частенько является проблемой для перфоманса. Это лишь мое мнение. И я для себя решил, что абсолютно не важной какой стейт менеджмент использовать
Все это круто, только как вяжется это с Хуками, в начале ролика сказано что принцип одинаковый, но нигде не было сравнений и пояснений с хуками, все ушло в conтect, про хуки ни слова
------Если есть хоть какая-то возможность прошу о помощи! ---------У нас есть компьютер из которого мы сделали сервер на котором есть рабочий сайт, раньше он был на jquery(frontend) Сейчас переписываем на React(хотим). Я создал приложение create-react app. Ввел команду npm run build и закинул его на собственный сервер. Но приложение не запускается. Помогите, я совсем в этом нуб. В интернете есть много инфы как залить на хостинг, а как на свой сервер нет. 1. Что нужно настроить на сервере? 2. Может какие-то зависимости нужны? 3. нужна ли на сервере папка node modules и вообще проект или достаточно папки build? 4. и если у нас раньше главный html назывался main_page.html, страшно ли что я переименовал index.html из папки build?
1. Настроить какой-нибудь nginx или apache, чтобы указывал на твой index.html или как ты его назвал у себя или если у тебя хостинг по проще, то он там наверное по дэфолту ищет index.html в корне 2. Да вроде не нужны 3. нет, не нужна, папки build достаточно 4. Все зависит от хостинга
Почему то ваши комментарии отправляет в спам, только зашел проверить спам, увидел комментарий) Ответ нет, для папки build не нужно ничего, ни npm ни nodejs. По крайней мере я не помню зачем он может пригодится :)
Я бы не взял на работу человека который сказал бы что connect уже неактуален, есть + и - как в connect так так и в useSelector и человек должен их знать и аргументировать почему в конкретном проекте он будет использовать то или другое
Оох, каждый раз смотрю на редакс и каждый раз задаюсь вопросом, откуда такая популярность у такой кривой и неудобной библиотеки... Даже с использованием слайсов и RTK query это всё равно ужасно выглядит
@@it-sin9k Да взять те же мидлвары, Saga на генераторах или redux-observable там вообще надо в RxJS погружаться с головой иначе ничего хорошего не получится. Или бесконечные редюсеры. Нельзя просто взять и создать новый компонент стора, надо обойти кучу файлов, запихать в рут редюсер, создать типизированный селектор. Наследование редюсеров нет, а это значит копипаста из редюссера в редюссер одних и тех же полей и методов. Мне кажется написав один раз стор на MobX или использовав в проекте GraphQL, и на Redux не захочется возвращаться.
Везде есть проблемы :) я несколько лет назад пришел в огромный проект, который написан на mobX. И там была целая каша из связей между сторами. И пришлось изобретать правила, как писать, как не писать, как это все разделять. И тогда мы привели за год все более менее к удобному виду. К чему я пришел после использования в проде по нескольку лет: Redux, MobX, Flux. Инструмент абсолютно не важен, у каждого есть свои слабые и сильные стороны. Всегда есть в команде кому не нравится текущий инструмент и хочет переехать на другой. Переедешь на другой инструмент, теперь другая часть команды жалуется и снова все заново.
youtube вводит новую функцию спасибо. Где разово можно задонатить какую-то сумму. Но она мало у кого сейчас доступна. Поэтому пока только без посредников можно задонатить разово :)
Автор, пожалуйста указывай в названии ролика язык, айти индустрия огромная, некоторые темы смотрятся как смежные, некоторые из за особенностей языка не могут быть смежными.
Я вообще не понимаю зачем на собеседования спрашивать вопросы про замыкания типы и другую шляпу, толку что чел ее заучит ! Все гуглится все есть в интернете , мне кажется один из главных навыков это умение быстро гуглить и в доке разбираться
Более того, я создал пост в сообществе, где прошу всех прислать вопросы, которые вы считаете хорошими для собеседования. И сделаю на эту тему видео ua-cam.com/channels/lgj-KWiNaOo9H1rz1ISO6Q.htmlcommunity
На счет Senior не скажу я работаю ток 6 месяцев как react /react-native developer. Устроился со второго раза . Перед собеседованием зубрил все подряд , но завалился на какой-то задачке которая в ходе работы мне даже не встретилась ни разу ) А во 2й раз я сделал тестовое потом пообщался с ребятами они мне так и сказали , мол мы не будем спрашивать все эти вопросики все есть в нете , все гуглится , а там время покажет . Естественно разработчик должен знать фундаментальные знание , но мне кажется дать лучше какое-то тестовое задание со стеком технологий которые использует компания (redux-tools, axios, react-router, итд) и там будет виден и код и вообще понимает ли человек что делает . Чисто субъективное мнение .)
@@it-sin9k Senior React Developer звучит конечно мощно) Я думал есть только Senior Frontend Developer А так ведь может быть и Senior Moment.js Developer А Senior Angular Developer это вообще наверное бог)
я создал пост в сообществе, где прошу всех прислать вопросы, которые вы считаете хорошими для собеседования. И сделаю на эту тему видео ua-cam.com/channels/lgj-KWiNaOo9H1rz1ISO6Q.htmlcommunity
Так любая функция в js и есть обьект по своей сути) А нормальных вопросов в списке нет? Вот и попробуй остаться после собеса с нормальным настроением после таких тупых вопросов
Функция connect не является HOC'ом, а вот результат её вызова возвращает уже HOC куда мы и передаём нашу компоненту. Маленькая неточность в определении, а видос в целом крутой
Как всегда круто, глубоко и интересно. Очень нравится формат видео. Коротко, информативно, доступно. Однозначно лайк и подписон)
Хотя, конечно, любви к такого рода вопросам на собеседовании не разделяю. Скорее проверка не на скилл, а на наличие личной жизни у кандидата)
Моя жена закатила глаза, когда я ей прочел этот комментарий))
@@it-sin9k Привет! Подскажи пожалуйста, код сплиттинг редакса - частая практика? Использовал на своих проектах? Потому что без код сплиттинга никуда, но почему то с редаксом не припомню чтобы кто-то разделял загрузку редюсеров.
@@ArtikMan1994 Честно говоря, лишь единожды делил Redux стор. Сейчас как то все больше набирает популярность Микрофронты, а там у каждого свой Redux, И вот тебе и поделились)
@@it-sin9k Понял. Спасибо большое что оперативно отвечаешь на вопросы. Это очень приятно. Тем более от разработчика такого уровня=)
Кстати, мб будет интересно, но все же напишу: изучал RTK Query. Писал блог из документации. Там одна функция сразу же нагружает процессор на 95% даже если проект не запущен (мне достаточно лишь раскомментировать эту функцию). Впервые с таким сталкиваюсь.
Написал им issue на гитхабе, но вряд ли ответят.
Не буду советовать ее использовать, несмотря на то что в оф.документации редакса ее советуют...
не за что :)
Как то про RTK Query часто слышу сомнительные отзывы) думаю позже руки дойдут его потыкать, и обзоры сделать) а пока активно готовлю новую тему) крайне воодушевлен, тем что раскопал)
Ждал инфу про Reselect, но как всегда контент на высоте) Спасибо
Можно и до reselect добраться)
@@it-sin9k даже нужно)
Как всегда качественно, но я не могу понять, зачем это спрашивать в 2021? Как вариант, в секции про css и стили можно спросить как верстать на таблицах :)
Есть много старых проектов, написанных на классовых компонентах, которые до сих пор не спешат перейти на функциональные. Вот таким проектам нужны люди, которые знают как работать с устаревшим подходом.
@@frontenddeveloper7987 Если там используется четвертый параметр коннекта, то я просто гляну документацию. А вот серьезно, зачем такое держать в памяти?
@@serheliusperchuk5298 а если не используется 4 параметр. А наоборот нужно за-использовать 4 параметр, откуда догадаешься о его существовании? Узнать где именно зарыта собака в давно работающем проекте, не всегда быстро решается.
Хмм, я поэтому в начале видео и предупредил, что это устаревший немного вопрос и его сейчас не задаю :) Но я бы не ставил это в сравнительный ряд с таблицами, не настолько неактуальный вопрос) Думаете про useSelector легче ответить, чем на это?)
Тут несколько комментариев :)
Я не спрашивал обычно, что из себя представляет 4-ый параметр и какие у него свойства. Максимум мог спросить "сколько параметров принимает connect?". Это помогает понимать, насколько ты хорошо знаком с инструментом :)
А по поводу твоего комментария, если ты не знал, что четвертый комментарий существует, тогда у тебя никогда и вопроса не возникнет, чтобы загуглить 4-ый параметр, что там вообще такое)
Годно! Спасибо!
Хотелось бы послушать про эффектор в следующих выпусках.
первый раз слышу о такой функции 🤣
Как же прекрасны твои видео... Словно небеса спустились на меня и солнце одарило меня своим теплом...
Спасибо большое за труды) один из лучших каналов по web-разработке!
Спасибо!) будем стараться стать лучшими)
по mapStateToProps я бы добавил вопрос - что является вторым входным параметром данной функции?) (ответ добавлю в трэд коммента для тех кому интересно)
в mapStateToProps - второй параметр это свойства переданные в текущий компонент из родительского компонента.
самое глубокое погружение. супер
Вау. Просто вау!
Спасибо!) Вижу открыли для себя наш канал) добро пожаловать!))
Спасибо большое, супер канал 👍👍👍
Узнал много нового, круто
Классно, спасибо
отлично. вот это обучения! вот это информация! так держать!
Спасибо!)
как всегда очень интересно и позновательно!
Да ты вообще самый крутой ютубер)
Спасибо!
Как всегда круто!
Спасибо!
А потом говорят где нам найти программеров. Скоро для трудоустройства нужно будет весь исходный код знать. Поди ещё Джуниора с задаешь этот вопрос?
круто)
Боброго времени суток. Много рылся в интернете по вопросу динамически добавляемых редюсеров, но так и не понял, есть ли возможность подрубать/отрубать слаисы в момент подгрузки лейзи компонента их содержащего, чтобы не разрастался безконтрольно базовый стор. Причём условие такое, чтобы в первоначальном бандле никких упоминаний о данном редюсере не было, он приходил бы внутри чанка с компонентом либо отдельным чанком. Проце говоря, приходил бы готовый кусок приложения со воим стором, секлекторами, блекджеком и мидлверами.
Посмотри в сторону store.replaceReducer метода
Наконец-то годнота подъехала )) Ждем от тебя больше видео ) может даже стримы. Хотелось бы побольше разбора работы разных библиотек как они под капотом работают и т/д/
Будем стараться делать больше контента)
Крутой контент, прям радуешь. Особено после просмотров пары роликов соплежевателей с водой
Спасибо :)
Приятно так излагаешь. Вот бы ты ещё и курс какой запилил.
Может немного попозже) Есть мысли в эту сторону)
Хороший комментарий.
Скажу просто Спасибо за твой труд.
Спасибо :)
Крутяк. Спасибо.
Меня волнует что это спрашивается на собеседовании. Много кандидатов могут ответить на эти вопросы? А в твоей практике, как часто ты используешь 4й параметр коннекта?
Я вижу много комментариев про 4-ый параметр) но видимо, я плохо донес, что именно является основным вопросом) Скорее я обсуждал как работает mapStateToProps. Как предотвращать ненужные рендеры и как можно выстрелить себе в ногу. Конкретно этот вопрос, я сейчас не задаю больше, т.к. connect уже не очень актуален.
Но раньше отвечали прям полностью правильно (без вопроса о 4-ом параметре), примерно 20-25%. Чаще всего это были действительно опытные синьоры
Ты прав, тема , на самом деле, интересная. Я только на собеседование триггернулся (больной вопрос 😅)
Спасибо!
прекрасно, все отвечают что такое connect(), я бы не ответила. пойду поплачу
это уже давно забытая история) многие уже и не знают, что это такое)
@@it-sin9k спасибо, что прокомментировали, после ваших слов немножко отпустило:)
И мой любимый вопрос)
ТОП контент!
Супер
Впервые услышал про connect, открыл документацию по нему и увидел "We now recommend using the React-Redux hooks API as the default. However, the connect API still works fine."
Этот синтаксис ещё используется, стоит ли уделять ему внимание?
однозначно не стоит) но в многих проектах, его еще можно встретить. Но идея как он работает точно такая же как у useSelector, но с мелкими отличиями
Вопросы на уровне - "Что делает функция ebisVseKonem и какого типа у нее 80-ый аргумент"
Я создал пост в сообществе, где прошу всех прислать вопросы, которые вы считаете хорошими для собеседования. И сделаю на эту тему видео
ua-cam.com/channels/lgj-KWiNaOo9H1rz1ISO6Q.htmlcommunity
Искал зачем mapDispatchToProps, если useDispatch, а тут так глубоко, но не очевидно. Спасибо! Но все же не собеса такие вопросы.)
16.05.23 like
Много раз заставлял ковырять этот state management, так и не разобрался, очень громоздкий … отдал предпочтение Zustand - никаких тебе экшенов, диспетчеров и прочей шелухи, буду благодарен увидеть ролик по Zustand и сравнению его с Redux
Прикольно, я о таком даже не слышал, постараюсь ознакомиться)
Расскажите про паттерн репозиторий? Сколько не смотрю русскоязычные туториалы ну и зарубежные тоже. Почти никто не использует данный паттерн и все хардкодят повторяя один за другим, а хотелось бы чтобы приложение было максимально простым для изменения.
Честно говоря, я такого паттерна и не знаю) но обещаю ознакомиться с ним)
Почему никто? Я использую.
Редакс уходит в Лету? Что нас ждёт в недалёком будущем в качестве стейт менеджмента если рассматривать функциональные компоненты?
Я думаю, пока нет ни одной причины полагать, что Redux уйдет в закат в ближайшее время. По крайней мере, пока не изобретут, что то новое более революционное. Но пока ничего революционного не слышно
Поэтому мультисторы эффектора иногда гораздо лучше.
Не всегда) У меня есть опыт работы с мультисторами с flux и mobX. Там полная свобода взаимодействия между сторами. Поэтому на проекте приходилось придумывать особые правила, как можно делать, как нельзя. Потому что общих best practise например как писать на mobX не существует. Тем более на Effector :)
@@it-sin9k сейчас ребята начали писать доку по эффектору как делать правильно, а как нет. Разжовывая и раскладывая по полочкам. Думаю через год оформится во что-то вразумительное.
Звучит круто! ждем с нетерпением) Возможно и я немного позже доберусь запилю свой обзор на него)
Kruto!
3:05, оговорочка не редакс ререндерит, а реакт.
Спасибо🥇. всегда интересовал этот момент, но лень было изучать. Старался просто придерживаться рекомендациям разработчиков.
А как вы относитесь к рекомендациям. Наверное есть свое мнение по позициям. Понятно, что это широкая тема 🔬
Я вообще очень положительно отношусь к рекомендациям. Тут конечно зависит от того кто именно рекомендует и что именно. Если это best practices проверенный годами, то я почитаю / поспрашиваю почему именно так вышло. Если ко мне на проект пришел новый синьор помидор и говорит давайте все перепишем на Эффектор, потому что на прошлой проекте попробовали и было круто. То это звучит, словно мы хотим переписать проект, только потому что ему та технология в данный промежуток времени нравится больше. На ситуацию надо смотреть шире. Какую проблему мы решим, будет ли эта технология развиваться и спустя 5 лет и т.д.
@@it-sin9k Спасибо, что нашли время ответить. я сам использую в своих небольших проектах createStructuredSelector, но в больших чужих проектах я не встречал.. что не так с этой функцией)? И хотело бы ваших видео обобщенных правил(возможно микроскопических), которых придерживается ваша команда из проекта в проект, на правленных на стабильность в realtime.
Мы тоже не особо использовали такое на проекте) дойдем еще до этой темы)
И у программиста бывает карма. За свои прегрешения перед кодом, программист перерождается в виде frontend-разработчика, где на собеседовании у него будут спрашивать про css, redux, а в особо тяжелом случае - про connect с 4-м параметром.
ахаха) тонко) отлично написано)
Топ. А если используется reselect, уже не надо задумываться об этом?
reselect решает часть проблем) я думаю, что про него тоже сделаю еще видео :)
Вопросы из области Я умнее чем ты. На все могу ответить открыв документацию либо запустив код с выводом в консоль. А вы можете поэтапно написать на листике код для запуска редакс в браузере побитово? Ну что же вы за программист тогда?
Я думаю вы немного утрируете. Если кто-то не до конца понимает, как mapStateToProps проводит сравнение с помощью shallowEqual. Это не значит, что он джун или еще слабее. Это лишь значит, что этот человек не очень увлекается улучшением перфоманса. В этом случае он для разработки высоконагруженных проектов, таких как например мессенджеров, видео аудио звонков и т.д. этот человек может не подойти, т.к. в таких проектах есть большой запрос, на то чтобы уметь в мелких моментах улучшать перфоманс.
Опять же я открыл рубрику, присылайте мне вопросы, которые вы считаете очень хорошими для собеседования на почту blue.sin9k@gmail.com. И я постараюсь это опубликовать :)
@@it-sin9k redux на проекте где важен перформанс?) нет уж спасибо)
@@user-yw9wx4lv2w да, вроде нет у него радикальных проблем с перфомансом :) У вас был обратный опыт?)
@@it-sin9k на любой чих в сторе, так или иначе вызываются все подписчики. Да там может быть мемоизация, но это не отменет сами вызовы. Взять тот же redux-form. Отличный пример проблем с первормансоам самого redux. Какое было решение проблемы? - закрыть проект.
@@user-yw9wx4lv2w Все верно. Разница лишь в том, как использовать redux. redux-form вызывал экшены в огромном количестве. Нажал на инпут === экшен, ввел букву === экшен и так на каждый чих иногда и сразу несколько экшенов. redux-form закрылся из-за того, что осознал, что злоупотребляет редаксом. Но при всем своем злоупотреблении, проект дожил вроде до 8 или 9 версии и у меня было много проектов с ним. И ни один сайт не лагал из-за внедрения формы. Потому что современному компьютеру все по плечу. А представь, если в redux хранить данные, только которые используются между экранами. Это значит только иногда читать данные и иногда записать. В таком случае вообще без разницы какой стор использовать и насколько он плох. Гораздо важнее уделить внимание самому реакту. Какие компоненты и когда рендерятся, что действительно частенько является проблемой для перфоманса. Это лишь мое мнение. И я для себя решил, что абсолютно не важной какой стейт менеджмент использовать
но ведь чисто технически в js функция и есть объект и нет типа данных "функция"
Я бы точно слился после таких вопросов. Просто работаю и знаю как сделать функционал с помощью редакс, но в такие тонкости не вникал;)
Все это круто, только как вяжется это с Хуками, в начале ролика сказано что принцип одинаковый, но нигде не было сравнений и пояснений с хуками, все ушло в conтect, про хуки ни слова
Про хуки есть отдельное видео)
ua-cam.com/video/SVG-x-4BQic/v-deo.html
Расскажи как-нибудь про рендер пропс, плиз)
Тема интересная. Надо самому в ней поковыряться еще. На ближайшее время я выпуски уже придумал. Чуть позже постараюсь обязательно посмотреть!
@@it-sin9k спасибо 😉
Отличное видео! Лайк! react js redux
------Если есть хоть какая-то возможность прошу о помощи! ---------У нас есть компьютер из которого мы сделали сервер на котором есть рабочий сайт, раньше он был на jquery(frontend) Сейчас переписываем на React(хотим). Я создал приложение create-react app. Ввел команду npm run build и закинул его на собственный сервер. Но приложение не запускается. Помогите, я совсем в этом нуб. В интернете есть много инфы как залить на хостинг, а как на свой сервер нет.
1. Что нужно настроить на сервере?
2. Может какие-то зависимости нужны?
3. нужна ли на сервере папка node modules и вообще проект или достаточно папки build?
4. и если у нас раньше главный html назывался main_page.html, страшно ли что я переименовал index.html из папки build?
1. Настроить какой-нибудь nginx или apache, чтобы указывал на твой index.html или как ты его назвал у себя или если у тебя хостинг по проще, то он там наверное по дэфолту ищет index.html в корне
2. Да вроде не нужны
3. нет, не нужна, папки build достаточно
4. Все зависит от хостинга
@@it-sin9k спасибо огромное!!!! Для меня честь получить от вас ответ!
@@it-sin9k А node js и npm на сервере нужен?
Почему то ваши комментарии отправляет в спам, только зашел проверить спам, увидел комментарий) Ответ нет, для папки build не нужно ничего, ни npm ни nodejs. По крайней мере я не помню зачем он может пригодится :)
Я бы не взял на работу человека который сказал бы что connect уже неактуален, есть + и - как в connect так так и в useSelector и человек должен их знать и аргументировать почему в конкретном проекте он будет использовать то или другое
Оох, каждый раз смотрю на редакс и каждый раз задаюсь вопросом, откуда такая популярность у такой кривой и неудобной библиотеки...
Даже с использованием слайсов и RTK query это всё равно ужасно выглядит
Может RTK?)
Коллекционирую аргументы, почему redux не очень. Если не сложно можете поделится почему Redux кривой?)
@@frontenddeveloper7987 Да, точно!)) Спасибо!)
@@it-sin9k Да взять те же мидлвары, Saga на генераторах или redux-observable там вообще надо в RxJS погружаться с головой иначе ничего хорошего не получится.
Или бесконечные редюсеры. Нельзя просто взять и создать новый компонент стора, надо обойти кучу файлов, запихать в рут редюсер, создать типизированный селектор. Наследование редюсеров нет, а это значит копипаста из редюссера в редюссер одних и тех же полей и методов.
Мне кажется написав один раз стор на MobX или использовав в проекте GraphQL, и на Redux не захочется возвращаться.
Везде есть проблемы :) я несколько лет назад пришел в огромный проект, который написан на mobX. И там была целая каша из связей между сторами. И пришлось изобретать правила, как писать, как не писать, как это все разделять. И тогда мы привели за год все более менее к удобному виду. К чему я пришел после использования в проде по нескольку лет: Redux, MobX, Flux. Инструмент абсолютно не важен, у каждого есть свои слабые и сильные стороны. Всегда есть в команде кому не нравится текущий инструмент и хочет переехать на другой. Переедешь на другой инструмент, теперь другая часть команды жалуется и снова все заново.
Чувак, здарова! Разве нельзя на ютубчике или патреоне задонатить тебе разово?
youtube вводит новую функцию спасибо. Где разово можно задонатить какую-то сумму. Но она мало у кого сейчас доступна. Поэтому пока только без посредников можно задонатить разово :)
@@it-sin9k и как это сделать?
напиши на почу blue.sin9k@gmail.com. Попробуем найти вариант как сбросить денежку)
Автор, пожалуйста указывай в названии ролика язык, айти индустрия огромная, некоторые темы смотрятся как смежные, некоторые из за особенностей языка не могут быть смежными.
название ролика написано на русском языке. Этого не достаточно?
@@it-sin9k имел ввиду язык программирования используемый в данном ролике
@@Buarpa Понял :) Спасибо за коммент!
Я вообще не понимаю зачем на собеседования спрашивать вопросы про замыкания типы и другую шляпу, толку что чел ее заучит ! Все гуглится все есть в интернете , мне кажется один из главных навыков это умение быстро гуглить и в доке разбираться
А можешь набросать 10 вопрос, что стоит спросить у Senior React Developer на собеседовании по твоему мнению?
Более того, я создал пост в сообществе, где прошу всех прислать вопросы, которые вы считаете хорошими для собеседования. И сделаю на эту тему видео
ua-cam.com/channels/lgj-KWiNaOo9H1rz1ISO6Q.htmlcommunity
На счет Senior не скажу я работаю ток 6 месяцев как react /react-native developer. Устроился со второго раза . Перед собеседованием зубрил все подряд , но завалился на какой-то задачке которая в ходе работы мне даже не встретилась ни разу ) А во 2й раз я сделал тестовое потом пообщался с ребятами они мне так и сказали , мол мы не будем спрашивать все эти вопросики все есть в нете , все гуглится , а там время покажет . Естественно разработчик должен знать фундаментальные знание , но мне кажется дать лучше какое-то тестовое задание со стеком технологий которые использует компания (redux-tools, axios, react-router, итд) и там будет виден и код и вообще понимает ли человек что делает . Чисто субъективное мнение .)
@@it-sin9k Senior React Developer звучит конечно мощно)
Я думал есть только Senior Frontend Developer
А так ведь может быть и Senior Moment.js Developer
А Senior Angular Developer это вообще наверное бог)
@@user-vv4sd1zr3s Senior HTML Programmer
+
Это уже устаревшай хрень, зачем им голову забивать, лучше на что то новое потратить время
на что?
@@hREMOvnicK678 effector
Устаревшая имеется ввиду redux или connect?)
@@it-sin9k это connect
я создал пост в сообществе, где прошу всех прислать вопросы, которые вы считаете хорошими для собеседования. И сделаю на эту тему видео
ua-cam.com/channels/lgj-KWiNaOo9H1rz1ISO6Q.htmlcommunity
В очередной раз убеждаюсь - какая же дичь этот Redux!
У того, кто его придумал, мозги на бикрень, наверное!
а что вы используете вместо Redux?
@@it-sin9k контекст + useReducer
@@Prog_Ramer про эту связку уже записал парочку видео)
@@it-sin9k если на проекте не требуется 100 штук store'ов, то такая связка полностью заменяется редакс + она компактнее и идёт из коробки
Так любая функция в js и есть обьект по своей сути) А нормальных вопросов в списке нет? Вот и попробуй остаться после собеса с нормальным настроением после таких тупых вопросов