169 похожих чатов

Всем привет! Добавил в приложение редакс, в одном компоненте асинхронно получаю

данные из внешнего источника, передаю их в стор а потом вытаскиваю их оттуда в другом компоненте. В принципе все работает но постоянно в консоли пишет ошибку:
"Warning: Cannot update a component (TestReduxData) while rendering a different component (DataLinkContext). To locate the bad setState() call inside DataLinkContext"

Подскажите пожалуйста как убрать эту ошибку?

DataLinkContext - компонент получающий данные и кладущий в стор
TestReduxData - в нем просто пытаюсь вытащить данные из стора
Спасибо!

13 ответов

12 просмотров

У вас реакт роутер подключен? Делаете редирект на основе стейта?

Andrew-Che Автор вопроса
Andrew Kovalev
У вас реакт роутер подключен? Делаете редирект на ...

<BrowserRouter> и рендеринг по условию имеете в виду?

Andrew Che
<BrowserRouter> и рендеринг по условию имеете в в...

Если у вас логика что скажем стетй пустой то nav(/route). То вот этот хук nav перенесите в юзэффект и ошибка должна уйти

Andrew-Che Автор вопроса
Andrew Kovalev
Если у вас логика что скажем стетй пустой то nav(/...

У меня сейчас в получающем компоненте такое: import React from 'react'; import { useSelector } from 'react-redux'; export default function TestReduxData() { const dataGpsTableMy = useSelector((state) => state.datas); console.log(dataGpsTableMy.datas[0], 'моя табличка'); попробовал обернуть в useEffect const dataGpsTableMy = useSelector((state) => state.datas); и вообще все упало Вероятно я неправильно понимаю что вы имеете в виду

Andrew Che
У меня сейчас в получающем компоненте такое: impo...

Во 1 useselecto не используют в useeffect. Во вторых неверно переопределять константу в которую передаете состояние из редакса

Andrew Che
спасибо

Логика такая - определяете в слайсе исходное состояние и экшнны( функции которые будут у вас выполнять изменения стейта) После. Там где вы хотите сделать условно get state вы используете хук юз селектор и получаете часть стейта. А если вам нужно изменить стетй вы должны вызвать dispatch(setUser())

Andrew-Che Автор вопроса
Andrew Kovalev
Логика такая - определяете в слайсе исходное состо...

Самый последний вопрос - можно ли прямо в слайсе прописывать функцию получения данных из внешнего источника?

Andrew Che
Самый последний вопрос - можно ли прямо в слайсе п...

ну можно в файле со слайсом это делать типа такого ))

Andrew Che
Самый последний вопрос - можно ли прямо в слайсе п...

Можно делать это в файле со слайсом типа такого ))

Andrew Che
Самый последний вопрос - можно ли прямо в слайсе п...

Прям в слайсе - не желательно. Слайс это по сути синтаксический сахар для двух сущностей - реьюсер и экшн креэйтор. Редьюсер простая функция которая получает экшн и стейт и меняет его. Если вам нужно делать доп запросы - типо фетч или другие запросы к апи вам нужен Middleware в redux toolkit есть функция createMiddleware вроде так называется . Если вам нужно навесить загрузку чего то из апи вам нужна эта функция

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта