Vue - DRY

Odpowiedz Nowy wątek
2020-01-16 18:49

Rejestracja: 1 rok temu

Ostatnio: 1 dzień temu

0

Cześć, w projekcie Vue, który piszę często wykorzystuję w różnych te same zapytania do api, lecz z różnymi ID, nie chcę powtarzać się i pisać tych samych funkcji po raz kolejny. Jak dobrze ustrukturyzować projekt, by zapytania były w jednym miejscu i nie musiał ich powtarzać. Vuex raczej odpada, bo nie do końca służy do tego.

Pozostało 580 znaków

2020-01-16 19:20

Rejestracja: 4 lata temu

Ostatnio: 1 godzina temu

1

U nas to wygląda tak, że mamy katalog clients, a w nim pliki takie jak: BookingsClient.js, OpinionsClient.js itp. Zazwyczaj tworzymy klienta per jakiś tam kontekst, żeby nie było jednego pliku na 2 mln linii. Każdy klient wygląda mniej więcej tak:

// @flow
import request from '...';

export default class AvailabilityClient {
  static fetchAvailability(filters: ?filtersBucket): Promise<any> {
    return request({
      url: `/api/v3/availability`,
      method: 'get',
      params: {
        filters: filters || {},
      },
    });
  }
}

Później przechodzi to jeszcze przez normalizr i trafia do vuexa. Projekt jest całkiem spory i na ten moment działa to bardzo fajnie.

edytowany 5x, ostatnio: Desu, 2020-01-16 19:26

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0