es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tipo de confirmación de Vuex en TypeScript.

Estoy tratando de convertir un proyecto Vue usando typescript+vue3.

Ahora en mi store > actions.js

Tengo una función:

const SET_TEST = ({commit}, val: string | number) => {
    commit('SET_TEST', val);
}

export default {
SET_TEST
}

Ahora, el {commit} me da un error que dice: Binding element ‘commit’ implícitamente tiene un tipo ‘any’
Mi pregunta es, ¿cuál debería ser el tipo de {commit} aquí?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El tipo de {commit} en este escenario debe estar definido explícitamente como Commit de la biblioteca vuex. Por lo tanto, la función actualizada debería lucir así:

    import { Commit } from 'vuex';
    
    const SET_TEST = ({ commit }: { commit: Commit }, val: string | number) => {
      commit('SET_TEST', val);
    }
    
    export default {
      SET_TEST
    }
    

    Al agregar { commit: Commit } como definición de tipo para el argumento, estamos indicando que el argumento commit debe ser del tipo Commit de vuex. Esto resolverá el mensaje de error relacionado con el tipo any implícito.

Comments are closed.