Cześć, chciałem przyśpieszyć deva w stacku .NET/Vue, i generalnie problemem są duże obiekty które fetchuje.
Chciałbym, aby zaraz po callu Ajax (w moim przypadku korzystam z biblioteki Axios) od razu mapowało się obiekt
i wymyśliłem sobie, że
- Użyłbym NSwaga/Nswag studio i generował sobie klasy typscriptowe i z nich bym korzystał (nie tworzyłbym ich manualnie).
- Zaraz po fetchu używałbym metody
Object.assign(clientModel, JSON.Parse(JSON.stringify(response.data)))
Zaoszczędziłoby to mnóstwo miejsca w tagu
<script setup>
(nie podoba mi się, że są u mnie tak wielkie, a nie znam innego sposobu w JS do mapowania responsa z api a chce zachować coś aka type safety, nie będę responsa do pustego obiektu mapował
tj(
const object = reactive({})/ref(null)
i potem
object.value = response.data
), bo chce mieć pewność że podczas bindu z v-model dana propka istenieje), obecnie pobieram te wielke modele i przypisuje ręcznie do obiektu w JS, typu:
exampleItem = response.data.exampleItem;
exampleItem2 = response.data.exampleItem2;
joeDoe = response.data.joeDoe;
[...]
Dodałbym do builda, że po każdym buildzie robi się ten plik typescriptowy i wrzucałby się z automatu do solucji frontendowej.
Moje pytanie brzmi:
Czy to ma sens i czy się mogę w taki appraochu przejechać? Generalnie nie korzystam z typescripa, ale jeśli by mi pomógł w przypadku
powyżej przemigrowałbym na nie, są jakieś przeciwskazania?
Chyba, że ktoś ma inną solucję rozwiązania takiego problemu.