Fragment trong GraphQL là gì?
https://viblo.asia/p/graphql-fragment-3P0lP13G5ox
1. Fragment trong GraphQL là gì?
Trong GraphQL có một khái niệm hay được sử dụng là Fragment. Trong bài viết ngày hôm nay chúng ta hãy cùng đi tìm hiểu khái niệm này là như thế nào nhé.
Một GraphQL Fragment là một phần tử có thể tái sử dụng trong GraphQL Query.
Trong GraphQL sẽ có những lúc bạn gặp phải những tình huống mà bạn cần phải query các field giống nhau trong các câu query khác nhau. Khi mà bạn nhận thấy các câu query của bạn có nhiều các field bị lặp lại tại nhiều vị trí khác nhau. Bạn có thể tóm chúng lại thành một đơn vị có thể tái sử dụng gọi là Fragment.
Một GraphQL Fragment cho phép bạn khai báo một bộ các field và sử dụng chúng trong nhiều câu query. Bạn có thể liên tưởng Fragment trong GraphQL có nét tương đồng như là function trong nhiều ngôn ngữ lập trình. Bạn khai báo function ở một chỗ và bạn gọi đến function ở nhiều chỗ dùng đến nó. Chúng đều là các phần tử tái sử dụng được.
2. Các thành phần của một Fragment
Chúng ta hãy đi vào tìm hiểu các thành phần của một Fragment với cấu trúc mẫu bên dưới
Một Fragment sẽ bao gồm 3 thành phần sau
Name: Tên riêng biệt cho 1 Fragment (mỗi một Fragment có 1 tên riêng)
TypeName: Kiểu của object trong GraphQL Schema mà Fragment được tạo ra từ đó, hay được lồng trong đó
Body: Body của Fragment định nghĩa các trường nào sẽ được query (field1, field2, field3)
3. Lợi ích của việc sử dụng GraphQL Fragment
Tại sao Fragment lại là một khái niệm rất "cool" trong GraphQL
Thứ nhất, bởi tính tái sử dụng của Fragment: Với Fragment, bạn có thể cấu trúc các câu query của bạn thành các phần tử có thể sử dụng được ở nhiều chỗ mà không cần phải viết lặp đi lặp lại.
Caching: GraphQL Client tận dụng các Fragment để cung cấp các option caching. Xem thêm apollographql.com/docs/react/caching/cache-interaction/
Last updated
Was this helpful?