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

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

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

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

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

13 ответов

10 просмотров

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

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 вроде так называется . Если вам нужно навесить загрузку чего то из апи вам нужна эта функция

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта