Giới thiệu Composition API trong Vue3 – VueJS

Tram Ho

Tổng quan

Vuejs là một trong những Javascript Framework hot nhất hiện nay. Có lẽ vì sự đơn giản, linh hoạt, …. vân vân những ưu điểm mà nó mang lại. Hiện tại phiên bản Vue 3 đã stable. Mình đã mò vào docs trên trang chủ để xem những sự thay đổi. Bùm Composition API

Nội dung

1. Giới thiệu

Theo phần giới thiệu trên trang chủ của Vue3, Composition API được đề cập bắt đầu từ nhược điểm khó tái sử dụng, maintain code khi ứng dụng ngày càng trở nên lớn.

Mình xin được lấy ví dụ từ trang chủ giới thiệu Composition API của Vue3

Khi dự án lớn dần lên, khi muốn thêm một chức năng chúng ta sẽ thấy khó để có thể chọn một chỗ phù hợp viết code. (data, methods, mounted,…) Quá nhiều vấn đề cần quan tâm.

Để giải quyết khó khăn này, Composition API đã được sinh ra. Để bắt đầu làm việc với Composition API, chúng ta cần khai báo một option component mới là setup.

Và bắt đầu từ đây, bạn có thể tạm quên đi các option component khác hay dùng như datamethodscomputedwatch, các lifecycle của Vue. Mọi thứ đều có thể xử lý được trong Composition API.
À mà khoan, các bạn đừng vội quên vội, mình cần các bạn nhớ để so sánh nó cách code trước và sau khi Composition API ra đời.

2. Ref, reactive

refreactive là các hook được sử dụng trong Composition API để định nghĩa các data, giống như việc chúng ta định nghĩa các data ở trong option data
Ok giờ hãy cùng so sánh hai cách code

image.png

Trong Composition API, chúng ta dùng hook ref hoặc reactive để định nghĩa một biến reactive.

Khi cần sử dụng hoặc thay đổi giá trị biến này trong Composition API:

Quá đơn giản phải không nào. Ta chỉ cần hello.value là lấy được giá trị của biến đó rồi.
Đối với reactive:

Đối với reactive, sẽ không cần .value

khi cần dùng biến đó trên template vue, ta chỉ cần câu lệnh return về một object có biến đó.
VD:

3. Methods

Trong Vue2, khi cần khai báo một hàm hoặc một phương thức, chúng ta sẽ định nghĩa nó trong option component methods thì trong Composition API bạn có thể định nghĩa nó như một hàm thông thường và return nó như ref và reactive mình đã nói ở phần 2

4. Computed

Trong Composition API, computed được định nghĩa thông qua hook computed.

5. Watch

Trong Composition API, quan sát một biến được thực hiện thông qua hook watch. Đặc biệt Vue3 hỗ trợ watch nhiều biến

6 Lifecycle

Trong Composition API, hầu hết các lifecycle đều tồn tại

Cụ thể về các lifecycle có thể sử dụng được trong Composition API, tham khảo: https://v3.vuejs.org/guide/composition-api-lifecycle-hooks.html#lifecycle-hooks

Tổng kết

Bài này mình đã giới thiệu tổng thể về Composition API trong Vue3. Có thể bạn đang quen với cách code trong Vue2, nhưng tin mình đi nếu bạn thử tiếp xúc với Composition API bạn sẽ thấy nó thật tuyệt.

Chia sẻ bài viết ngay