Performance: Actions for modifying state
MEDIUM IMPACT
This affects how quickly the UI updates after state changes and how much work the browser does to re-render components.
const store = useStore(); function updateStateGood() { store.dispatch('updateMultiple', { count: store.state.count + 1, name: 'New Name', active: true }); } // In store actions: const actions = { updateMultiple({ commit }, payload) { commit('setCount', payload.count); commit('setName', payload.name); commit('setActive', payload.active); } };
const store = useStore(); function updateStateBad() { store.state.count++; store.state.name = 'New Name'; store.state.active = true; }
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Direct multiple state mutations | Multiple reactive triggers | Multiple reflows | High paint cost due to repeated updates | [X] Bad |
| Batch state changes via actions | Single reactive trigger | Single reflow | Lower paint cost with one update | [OK] Good |