Size: a a a

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

2021 February 15

АХ

Александр Хвостов... in React — русскоговорящее сообщество
Drus
Как здесь можно исправить бесконечный вызов функции и оставить подписку на изменение?
Убрать todos из зависимости в useEffect?
источник

АХ

Александр Хвостов... in React — русскоговорящее сообщество
Оставь просто пустые скобки и useEffect сработает один раз при рендере
источник

aa

art. ap. in React — русскоговорящее сообщество
Drus
если правильно понимаю твою логику то у тебя должно быть 2 метода
1 метод срабатывает при маунте проверяет есть ли чтото в локал сторейдж, и если есть, то парсит его содержимое и загружает в стейт
2 метод срабатывает при анмаунте сохраняет стейт в локал сторедж

и тот и другой очевидно должны отработать 1 раз за жизненный цикл. теперь вопрос - зачем ты добавил todos в массив отслеживаемых изменений?
источник

T

Tonn in React — русскоговорящее сообщество
ребята , кто может помочь с  dropdown проблема такая   : при выборе компонента из списка должен происходить update в базе данных , но он происходит только после 2 нажатия на ту же кнопку  ,   а не сразу
источник

RP

Roma Prokopets in React — русскоговорящее сообщество
подскажите как исправить ошибку, есть кейс в редьюсере, заменять значение изэнролл на тру, в тестах падает forEach of undefined
источник

RP

Roma Prokopets in React — русскоговорящее сообщество
источник

RP

Roma Prokopets in React — русскоговорящее сообщество
источник

D

Drus in React — русскоговорящее сообщество
art. ap.
если правильно понимаю твою логику то у тебя должно быть 2 метода
1 метод срабатывает при маунте проверяет есть ли чтото в локал сторейдж, и если есть, то парсит его содержимое и загружает в стейт
2 метод срабатывает при анмаунте сохраняет стейт в локал сторедж

и тот и другой очевидно должны отработать 1 раз за жизненный цикл. теперь вопрос - зачем ты добавил todos в массив отслеживаемых изменений?
Если массив todos не содержит элементов тогда он выдает ошибку на .map()
источник

aa

art. ap. in React — русскоговорящее сообщество
Drus
Если массив todos не содержит элементов тогда он выдает ошибку на .map()
проблема не в map
const todos = [];
const convertedTodos = todos.map(todo => todo + 'x')
console.log(convertedTodos) // []


но вот если ты из локал сторейджа достаешь пустую строку и на ней пытаешься запустить map, тогда да будет ошибка
источник

SL

Sergey Lukashev in React — русскоговорящее сообщество
Drus
Если массив todos не содержит элементов тогда он выдает ошибку на .map()
это не правда
источник

VH

Vitalii Huk in React — русскоговорящее сообщество
Всем привет) Увидел вот так пример использования Redux + Hook. нормальный ли подход?
источник

SL

Sergey Lukashev in React — русскоговорящее сообщество
Vitalii Huk
Всем привет) Увидел вот так пример использования Redux + Hook. нормальный ли подход?
да, вполне )
источник

VH

Vitalii Huk in React — русскоговорящее сообщество
Sergey Lukashev
да, вполне )
благодарю)
источник

D

Drus in React — русскоговорящее сообщество
Sergey Lukashev
это не правда
Да. Он пишет todos.map is not a function только когда используешь не на массиве, но мне приходит из локального хранилища именно массив и он на нем кидает эту ошибку.
источник

SL

Sergey Lukashev in React — русскоговорящее сообщество
Drus
Да. Он пишет todos.map is not a function только когда используешь не на массиве, но мне приходит из локального хранилища именно массив и он на нем кидает эту ошибку.
так может все таки из localstorage приходит строка, которую забыл распарсить?
источник

AD

Andriy Dudariev in React — русскоговорящее сообщество
Drus
Да. Он пишет todos.map is not a function только когда используешь не на массиве, но мне приходит из локального хранилища именно массив и он на нем кидает эту ошибку.
в localstorage всегда только строка
источник

D

Drus in React — русскоговорящее сообщество
Sergey Lukashev
так может все таки из localstorage приходит строка, которую забыл распарсить?
Точно. Забыл, что он всё в строки переделывает. Спасибо.
источник

SL

Sergey Lukashev in React — русскоговорящее сообщество
Drus
Точно. Забыл, что он всё в строки переделывает. Спасибо.
не за что. JSON.parse в помощь
источник

🦜

🦜 in React — русскоговорящее сообщество
Подскажите по такому кейсу. Есть список элементов с id. onMouseOver записываю айди элемента в массив, чтобы разом потом обработать элементы.

Вопрос. Как можно убрать onMouseOver хендлер у элемента, айди которого есть в массиве?

Пока есть идеи заменить хендлер на noop функцию.
Навешивать на реф, и в useEffect проверять также на наличие в массиве и убирать хендлер
источник

D

Danila in React — русскоговорящее сообщество
🦜
Подскажите по такому кейсу. Есть список элементов с id. onMouseOver записываю айди элемента в массив, чтобы разом потом обработать элементы.

Вопрос. Как можно убрать onMouseOver хендлер у элемента, айди которого есть в массиве?

Пока есть идеи заменить хендлер на noop функцию.
Навешивать на реф, и в useEffect проверять также на наличие в массиве и убирать хендлер
Сделай не массив а сет 😏
источник