Size: a a a

React — русскоговорящее сообщество

2021 May 02

a.

ardfak . in React — русскоговорящее сообщество
Так контекст не будет теряться
источник

VK

Vladimir Kurchatkin in React — русскоговорящее сообщество
Если ты уверен, что все правильно, то можно отключить здесь exhaustive-deps
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
Насчет EsLint, он разве может не давать собирать реакт проект?
я почему то думал что этот бабл когда в динамике его собирает не может найти данную функцию и выдает ошибку.
источник

VK

Vladimir Kurchatkin in React — русскоговорящее сообщество
нет, это ошибка eslint
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
просто в браузере видно что страница отображается и падает на этой строчке.
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
где именно мне лямбду заюзать в АПП или в своем js?
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
пробовал и там и там и все равно такая же ошибка
источник

VK

Vladimir Kurchatkin in React — русскоговорящее сообщество
может и падает, но то что ты показываешь - это ошибка eslint
источник

a.

ardfak . in React — русскоговорящее сообщество
Ты эту функцию то хоть заимпортировал?
источник

AE

Andrey Eremenko in React — русскоговорящее сообщество
Рекомендуется это правило не отключать, но я так часто сталкиваюсь с проблемами при его использовании, что появилось ощущение, что я чего-то не понимаю. Вот еще пример:
https://stackoverflow.com/questions/56992052/how-to-fix-a-react-hooks-exhaustive-deps-linting-error-with-no-dependency

Там предлагается сделать так:

useEffect(() => () => clearMessages(), [clearMessages]) 

Вот когда это было так
useEffect(() => () => clearMessages(), []) 

Я смотрю в код и вижу что функция выполнится один раз. А когда в зависимости попадает что-то, я вынужден анализировать весь перечень зависимостей чтобы понять как это будет работать. И потом весело будет наткнуться на тот факт, что зависимости не меняются никогда и они просто там добавлены чтобы линтер заткнулся.
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
вот
источник

AE

Andrey Eremenko in React — русскоговорящее сообщество
Первое желание воскликнуть "Да чего они там накурились?". Но потом появляется предположение, что я чего-то не допонимаю
источник

VK

Vladimir Kurchatkin in React — русскоговорящее сообщество
> Рекомендуется это правило не отключать

Его спокойно можно отключать, если ты понимаешь последствия. Например, тебе нужно, чтобы эффект выполнился строго один раз. Вполне можно отключить, если это действительно так
источник

VK

Vladimir Kurchatkin in React — русскоговорящее сообщество
Это ошибка eslint
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
куда я ее должен был заимпортировать если в самом проекте реакта ее невидно.
источник

VK

Vladimir Kurchatkin in React — русскоговорящее сообщество
Это ужасный совет

useEffect(() => () => clearMessages(), [clearMessages])

с большей долей вероятности приведет к некорректному поведению
источник

AE

Andrey Eremenko in React — русскоговорящее сообщество
спасибо.
очень много непонятно с этими хуками.
причем одним из аргументов при их введении было "С классами сложно разобраться" :))
источник

VK

Vladimir Kurchatkin in React — русскоговорящее сообщество
С классами сложно было делать простые вещи. С хуками - просто. Но если делать сложные вещи, то появляются новые проблемы
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
ДА это был EsLint, добавил дерективу как описано и все заработало!!! спасибо огромное.
источник

ША

Шорохов Алексей... in React — русскоговорящее сообщество
хотя не все отработало, но ошибку выдавать перестало :)
источник