Razbezhkin
@Razbezhkin
программист, преподаватель

Какой подход к изменению данных использует Vue, мутабельность или иммутабельность?

Поясните, пожалуйста, как правильно писать приложения на vue?

В документации к React авторами фреймворка рекомендуется использовать иммутабельность (https://ru.reactjs.org/tutorial/tutorial.html#why-... по их мнению – это самый правильный способ построения приложений, их позиция однозначно понятна.

Во Vue есть директива v-model (https://ru.vuejs.org/v2/api/#v-model) которая обеспечивает двустороннее связывание, что является подходом через мутации. При этом при работе с компонентами используется для передачи данных в компоненты свойство props а для возврата – события (это очень похоже на то, как рекомендуется в React), и если внутри компонента мы все же будем использовать привязку данных к элементам интерфейса (например к ) данные через v-model, то изменения в дочернем компоненте все равно повлияют на данные в родительском компоненте и все равно получиться подход через мутации.

Правильно ли я понимаю что во Vue рекомендуется подход через мутации или все таки у этих двух фреймворков подход одинаковый?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 2
Machinez
@Machinez
v-model это частный и осознаный шаг для удобной работы с инпутами во Vue
опыт показал, что в реакте с концепцией one-way data flow работа с формами превращается в боль, вынуждающая создавать бесчисленные коллбэки и обертки
Во Vue рекомендуется использовать подход через мутации, но есть возможность использовать двойную привязку, если это упростит разработку.
Если так нужно, то инпуты можно и через мутации обновлять.
Ответ написан
Реакт изначально шел по пути функционального программирования, а мутации в фп не приветствуются. Что касается Vue, при работе с ним у меня создалось впечатление об отсутствии четкой парадигмы.
Это подтверждается словами из статьи человека который пришел во Vue из мира React:
Redux heavily relies on immutability of the state, while Vuex doesn’t care about state’s immutability
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы