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

Всем привет, уважаемые коллеги пожалуйста подскажите если я работаю с

redux то я слышал что лучше не мутировать данные в нем.
от сюда вопрос могу ли я в экшне например при получении данных делать из них выборку и после этого уже передавать в редюсер (диспатчить)? считается ли это мутацией?

8 ответов

14 просмотров

встречный вопрос (его бы не здесь конечно обсуждать, а в @js_ru в идеале): что такое мутация?

Vitaliy Ponomarev
встречный вопрос (его бы не здесь конечно обсуждат...

let x = { key: "value" }; let y = x; y.key = "some"; console.log(x, y); Думаете что в x.key будет "value"? А вот нет, там будет "some", поскольку let y = x - это создание ссылки, а не копирование объекта. То есть x мутировал. Если мы хотим иммутабельно скопировать объект, то можно сделать это так: let x = { key: "value" }; let y = {...x}; y.key = "some"; console.log(x, y);

А-Б Автор вопроса
Vitaliy Ponomarev
встречный вопрос (его бы не здесь конечно обсуждат...

ну изменение данных или их преобразование я так думаю... нет?

Их не лучше не мутировать, их нельзя мутировать это из принципов ридакса - immutable state)

А-Б Автор вопроса
Maks
Их не лучше не мутировать, их нельзя мутировать эт...

ну это говорится же про редьюсер, в экшне я ж могу там операции с данными производить

А-Б Автор вопроса
kfv
let x = { key: "value" }; let y = x; y.key = "some...

полезная инфа, спасибо!

kfv
let x = { key: "value" }; let y = x; y.key = "some...

а это был бы второй вопрос ))

А Б
ну изменение данных или их преобразование я так ду...

нет, у этого термина в заданном контексте есть вполне конкретное значение. это изменение значения объекта (массив это тоже объект) при сохранении старой ссылки, т.е. сам объект "снаружи" будет тот же, несмотря на то, что "внутри" он изменился (изменилось значение, порядок, состояние элементов и т.п.) так что стоит немного основы повторить, и про иммутабельность что-нибудь для лучшего понимания

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

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

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
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта