и посмотреть медиа
Frontend Interview - JS HTML CSS
и посмотреть медиа
Канал для подготовки к собеседованиям по фронтенду: JavaScript, HTML, CSS. Практические задания и разборы.
Канал для подготовки к собеседованиям по фронтенду: JavaScript, HTML, CSS. Практические задания и разборы.
Ресурс посвящен подготовке к собеседованиям на позиции фронтенд-разработчика. Содержит вопросы, тесты и ответы по JavaScript, HTML и CSS. Помогает систематизировать знания и уверенно пройти интервью.
Что такое mutations и actions в vuex? Который является официальной библиотекой для управления состоянием в приложениях Vue.js, mutations (мутации) и actions (действия) играют ключевые роли в управлении состоянием. Они помогают обеспечивать предсказуемость изменения состояния и организовывают логику приложения. Mutations (Мутации) Это единственный способ изменить состояние в Vuex. Каждая мутация имеет тип и обработчик. Обработчик мутации получает состояние как первый аргумент, и дополнительный аргумент в качестве полезной нагрузки (payload), который можно использовать для передачи данных в мутацию. Мутации должны быть синхронными, чтобы изменения состояния можно было легко отслеживать. Это помогает делать отладку и логгирование более предсказуемыми. import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++; }, incrementBy(state, payload) { state.count += payload.amount; } } }); Actions (Действия) Действия используются для выполнения асинхронных операций или сложной бизнес-логики перед вызовом мутаций. Действия могут содержать произвольную асинхронную логику, такие как API-запросы, и затем вызывать мутации для изменения состояния. Действия вызываются с помощью метода dispatch и могут возвращать промисы, что полезно для обработки цепочек асинхронных операций. import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++; } }, actions: { incrementAsync({ commit }) { setTimeout(() => { commit('increment'); }, 1000); }, incrementByAsync({ commit }, payload) { setTimeout(() => { commit('incrementBy', payload); }, 1000); } } }); Взаимодействие между Mutations и Actions: Mutations Синхронно изменяют состояние. Actions Могут быть асинхронными и обычно вызывают мутации для изменения состояния. Пример взаимодействия // store.js import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { message: '' }, mutations: { setMessage(state, message) { state.message = message; } }, actions: { fetchMessage({ commit }) { setTimeout(() => { const message = 'Hello from async action!'; commit('setMessage', message); }, 2000); } } }); Компонент {{ message }} Load Message import { mapState, mapActions } from 'vuex'; export default { computed: { ...mapState(['message']) }, methods: { ...mapActions(['fetchMessage']), loadMessage() { this.fetchMessage(); } } }; 👉 @frontendInterview
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!