Size: a a a

React: русскоязычное сообщество

2021 April 05

M

Mike in React: русскоязычное сообщество
у тебя точно массив сетается
источник

M

Mike in React: русскоязычное сообщество
не обьект?
источник

СА

Сергей Александров... in React: русскоязычное сообщество
Nikita Chaykin
Ребятки, помогите плз завязать useEffect на изменение state
У тебя запрос вызовется 2 раза, при рендере.
При первом рендере вызовется useEffect. Отработает запрос и изменит state. Вызовется повторный запрос.

В зависимость нужно добавлять не state.length а state.

Не работает из за того что наверное не правильно удаляешь. Ты мутируешь стейт при удалении? Покажи как удаляешь
источник

NC

Nikita Chaykin in React: русскоязычное сообщество
да, 100%
источник

NC

Nikita Chaykin in React: русскоязычное сообщество
Переслано от Mike
у тебя точно массив сетается
источник

Ю

Юрий in React: русскоязычное сообщество
У тебя ide не ругается, на асинхронный запрос в useEffect?
источник

NC

Nikita Chaykin in React: русскоязычное сообщество
Я когда добавляю state, то у меня бесконечный рендер начинается
источник

NC

Nikita Chaykin in React: русскоязычное сообщество
Переслано от Сергей Александров...
У тебя запрос вызовется 2 раза, при рендере.
При первом рендере вызовется useEffect. Отработает запрос и изменит state. Вызовется повторный запрос.

В зависимость нужно добавлять не state.length а state.

Не работает из за того что наверное не правильно удаляешь. Ты мутируешь стейт при удалении? Покажи как удаляешь
источник

NC

Nikita Chaykin in React: русскоязычное сообщество
не\
источник

NC

Nikita Chaykin in React: русскоязычное сообщество
А почему должно ругаться?
источник

Ю

Юрий in React: русскоязычное сообщество
Сорян, не заметил, что она самовызывается
источник

СА

Сергей Александров... in React: русскоязычное сообщество
Юрий
У тебя ide не ругается, на асинхронный запрос в useEffect?
Он  IIFE использует async. Поэтому не ругается
источник

Ю

Юрий in React: русскоязычное сообщество
Не актуален комментарии
источник

Ю

Юрий in React: русскоязычное сообщество
Сергей Александров
Он  IIFE использует async. Поэтому не ругается
Да, я понял
источник

СА

Сергей Александров... in React: русскоязычное сообщество
Nikita Chaykin
Ребятки, помогите плз завязать useEffect на изменение state
В useEffect в зависимости замени state.length на state. И делай setState(newState) везде. Все будет работать
источник

NC

Nikita Chaykin in React: русскоязычное сообщество
Хм) Сейчас, пасибочки
источник

СА

Сергей Александров... in React: русскоязычное сообщество
Погоди. Будет бесконечный рендер. Так как state изменяется внутри useEffect
источник

СА

Сергей Александров... in React: русскоязычное сообщество
Когда случается такое. Нужно задуматься: "А правильная ли архитектура?". Вот в данном случае не правильная. Нужно сделать так:
1. Запрос должен быть в отдельной функции.
2. При первом рендеринге вызвать эту функцию.
3. И при удалении нужно вызвать эту функцию.
Тогда все запросы будут контролироваться. А так как сейчас написано, делать не нужно.
источник

M

Mike in React: русскоязычное сообщество
вопрос в том сколько надо раз делать запрос
источник

M

Mike in React: русскоязычное сообщество
если один раз то можно в депенденсис пустой массив оставить а вюзЭфеекте вызывать функцию только если длина стейта 0
источник