Andrei
я блд понял, нужно просто внутри проверить..... это жесть
а может кто-то еще раз объяснить, смысл чекать наличие экшена?
🅅aleriy
а может кто-то еще раз объяснить, смысл чекать наличие экшена?
если ты из родителя проносишь что-то типа action={() => blabla()}
🅅aleriy
то у тебя при каждом рендере этот action пересоздается
Bogdan
а в чем собственно тут эффект?
я день спрашиваю, мне никто не смог ответить, что можно сравнить внутри ефекта, я мучался как мог
Andrei
понял
Bogdan
не понятно зачем тебе эффект тут :)
решил переделывать классы на функции
Bogdan
мало радостного
🅅aleriy
решил переделывать классы на функции
отлично, но в данной ситуации то зачем он нужен?
🅅aleriy
у тебя внутри эффекта используются только внешние пропсы
🅅aleriy
почему не делать это в родительском компоненте?
🅅aleriy
откуда эти пропсы прилетели
Eugene
up
@redux_ru мб лучше тут спросить 👀
artalar
=\
artalar
Эх, ладно, пора...
Bogdan
у тебя внутри эффекта используются только внешние пропсы
мне не нравится такой подход я не видел примеров, мне логичнее, что данные нужно только тогда, когда ты зашел на страницу нужную
Bogdan
у тебя внутри эффекта используются только внешние пропсы
вот useEffect вторым параметром принимает массив, в котором то, за чем он слидит, туда нужно передать все переменные, которые в ефектк задействуются?
🅅aleriy
например ты знаешь что dispatch у тебя всегда один и тот же
🅅aleriy
на фиг его отслеживать все время
🅅aleriy
eslint варнинг конечно покажет на это дело
🅅aleriy
но он же не может проанализировать адекватность таких проверок
Bogdan
не обязательно все
ну вот еще вопрос, зачем передавать второй параметр, если я все равно проверяю наличие данных внутри еффекта?
🅅aleriy
при первом рендеринге он будет у тебя пустой
🅅aleriy
по завершении выполнения action скорее всего в сторе появится значение, которое через connect попадет в компонент и снова эффект сработает, но с уже заполненными данными
Bogdan
ну ты в консоль выведи из эффекта значение params и поймешь
https://codesandbox.io/s/fervent-panini-mjec2 вот тут я так понял, если выше в компоненте передам params по пропсам это не прокатит?
Bogdan
вот так указал
Eugene
Ээ
Eugene
А зачем ты передаешьее в App А не в самом App делаешь?
Eugene
В роуте
🅅aleriy
а сам App оборачивай в connect уже если редакс у тебя
Bogdan
Ээ
какая разница где? это просто пробовал передать неизменное значение, оно всегда 12 ведь
Bogdan
Я про action
да это просто я решил на кодепен попробовать хук заюзать
Китикет
И роуты должны быть в App, а не наоборот
🅅aleriy
@bshelomanov либо можно еще сделать без затаскивания логики запроса данных в сам компонент примерно так <Route exact path="/" render={() => { if (data) { return <App data={data} /> } else { fetchData() return <Spin /> } }}
Bogdan
И роуты должны быть в App, а не наоборот
я не понимаю, зачем вот так делать проверку? смысл от второго параметра, есля я сам проверяю условие
Юра
Всем здрасте! Извините за тупой вопрос, чем синтаксически отличается React Native от React? Можно ли учить их параллельно или же сначала лучше освоить реакт и только потом на нэйтив идти?
🅅aleriy
ибо эта логика внутри компонента в любом случае на хер не нужна
Китикет
я не понимаю, зачем вот так делать проверку? смысл от второго параметра, есля я сам проверяю условие
Не могу к сожалению ничем помочь с хуками, у меня ща на проекте старинная версия и все руки до них не доходят)
Bogdan
ибо эта логика внутри компонента в любом случае на хер не нужна
тоесть если в классе мы в DidMound запросы отправляли, тут можно прямо в функции?
Ivan
как задать максимальное значение инпута типа число без использования колбэка на onchange? аттрибуты max и min почему то в хроме не хотят работать
🅅aleriy
мне никогда не нравилась идея fetch-ей из didMount
Andrey
тоесть если в классе мы в DidMound запросы отправляли, тут можно прямо в функции?
тебе ж уже тыщу раз сказали, как делать либо фетчи выше, тогда не будет рефетча либо делай кеш, чтобы на вызов фетча со страницы, тебе сразу отдавались данные либо фетчи каждый раз под фетчем подразумевается в экшн/эффект/сага/санк, ватева ты юзаешь на проекте
Китикет
Китикет
Но принцип похожий
Юра
Понял, спасибо!
Andrey
что может быть выше страницы?
приложение роутедКонтент ватева
Bogdan
приложение роутедКонтент ватева
тоесть пачку запросов отправлять одним махом? а в чем смысл?
Andrey
остальное уже по ситуации у нас на проекте мы таким не заебываемся, просто рефетчим
Bogdan
вот так нельзя?
🅅aleriy
что может быть выше страницы?
layout может быть выше страницы
Andrey
layout может быть выше страницы
ну в лейауте то не сфетчить, он же ж общий
🅅aleriy
ну вот раньше фетчили часто по событию onEnter в Route
Andrey
вот так нельзя?
откуда array приезжает? со стора?
Bogdan
только то, что у тебя неизменно
мне не понравилось, что я получил статьи, они не изменны и я опять отправляю запрос, даже если чел статью не выложил, запрос уходит все равно
🅅aleriy
потом onEnter убрали и теперь рекомендуют делать это в render функции Route
Andrey
вот так нельзя?
а экшн че такое?
Bogdan
а экшн че такое?
екшен типо екшен который пришел
Andrey
екшен типо екшен который пришел
откуда пришел? чому сразу редаксовский не дернуть, где это дело фетчится? тебе с коннекта приходят данные в useEffect(() => fetchMyData(), []) делаешь, где fetchMyData - твой экшн редаксовсикй все
Bogdan
ну ты же не все статьи запрашиваешь сразу
нет, но запрос уходит , меня это напрягает
🅅aleriy
нет, но запрос уходит , меня это напрягает
да не напрягайся ты так тебя должно напрягать то, что юзер может остаться без обновленного контента зайдя на страницу