typescript - Pinia useStore palauttaa any


Käytän Piniaa yhdessä Vue3:n ja TypeScriptin kanssa. Käytettyäni monia eri tapoja hoitaa kaupan tyypitys, en ole onnistunut saamaan kauppaa tyypittymään muuksi kuin any-tyypiksi.

Tässä on toteutus:

import { defineStore } from "pinia";
import type { DataT } from "@/types";

interface DataStore {
  data: DataT[];
}

export const useDataStore = defineStore("dataStore", {
  state: (): DataStore => ({
    data: [] as DataT[],
  }),
});

Missä tahansa tätä myymälää tuodaan komponenttiin, useDataStore()-funktion palautustyyppi on any, mikä ei ole tyypiturvallista. Kuinka voin saada tyypiturvallisuuden myymälästäni?

Kaikki Vue-komponentit käyttävät <script lang="ts" setup> ja käyttävät menestyksekkäästi muita TS-tyyppejä muissa kohdissa.

Tässä on esimerkki siitä, miten se tuodaan:

<script lang="ts" setup>
// some other imports
import { useDataStore } from "../../store/data";

const dataStore = useDataStore();
// other code follows
</script>