redux то я слышал что лучше не мутировать данные в нем.
от сюда вопрос могу ли я в экшне например при получении данных делать из них выборку и после этого уже передавать в редюсер (диспатчить)? считается ли это мутацией?
встречный вопрос (его бы не здесь конечно обсуждать, а в @js_ru в идеале): что такое мутация?
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);
ну изменение данных или их преобразование я так думаю... нет?
Их не лучше не мутировать, их нельзя мутировать это из принципов ридакса - immutable state)
ну это говорится же про редьюсер, в экшне я ж могу там операции с данными производить
полезная инфа, спасибо!
а это был бы второй вопрос ))
нет, у этого термина в заданном контексте есть вполне конкретное значение. это изменение значения объекта (массив это тоже объект) при сохранении старой ссылки, т.е. сам объект "снаружи" будет тот же, несмотря на то, что "внутри" он изменился (изменилось значение, порядок, состояние элементов и т.п.) так что стоит немного основы повторить, и про иммутабельность что-нибудь для лучшего понимания
Обсуждают сегодня