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>