vuex mutation doesn't work

Doesn't change value of state by argument destructuring on mutations.

HTML

<script src="https://unpkg.com/[email protected]"></script>
<div id="app">
  {{ $store.state.text }}<br>
  <button @click="$store.commit('dontWork1', 'dontWork1')">dontWork1</button><br>
  <button @click="$store.commit('dontWork2', 'dontWork2')">dontWork2</button><br>
  <button @click="$store.commit('work', 'work')">work</button>
</div>

JavaScript

Vue.use(Vuex)

const store = new Vuex.Store({
	state: {
  	text: 'hello'
  },
  mutations: {
  	// don't work
  	dontWork1({text}, payload) {
    	text = payload
    },
  	// don't work
  	dontWork2(state, payload) {
    	state.text = payload
    },
    // work
    work(state, payload) {
    	state.text = payload
    }
  }
})

new Vue({
	el: '#app',
  store
})