typescript - Pinia useStore her şeyi döndürüyor
Vue3 ve TypeScript ile Pinia kullanıyorum. Mağazayı tipledmenin birçok farklı yolunu denememe rağmen, mağazanın any dışında başka bir şekilde tiplenmesini sağlayamadım.
İşte uygulanışı:
import { defineStore } from "pinia";
import type { DataT } from "@/types";
interface DataStore {
data: DataT[];
}
export const useDataStore = defineStore("dataStore", {
state: (): DataStore => ({
data: [] as DataT[],
}),
});
Bu mağaza bir bileşene ithal edildiği her yerde, useDataStore()'un dönüş türü any olup, tip güvenli değildir. Mağazamdan tip güvenliği nasıl elde edebilirim?
Tüm Vue bileşenleri <script lang="ts" setup> kullanıyor ve diğer TS türlerini başka yerlerde başarıyla kullanıyor.
İşte nasıl içe aktarıldığının bir örneği:
<script lang="ts" setup>
// some other imports
import { useDataStore } from "../../store/data";
const dataStore = useDataStore();
// other code follows
</script>