Hướng dẫn React Datepicker

Tram Ho

Introduction

Trong bài viết này chúng ta sẽ học cách sử dụng React datepicker trong ứng dụng React. Tìm hiểu từ cơ bản đến 1 trường hợp củ thề là hotel booking component sử dụng React-Datepicker.

React-datepicker là một thư viện phổ biến nhất cho các dự án React, thư viện này hiện có khoảng trên 700.000 lượt donwload.

Prequisities

Trong hướng dẫn này bạn sẽ cần biết Javascript & React cơ bản. Bước đầu tiên của bước cấu hình là cài đặt create-react-app globally.

Sau đó create-react-app đã được cài đặt, chúng ta sẽ cần tạo mới ứng dụng với thư viện. Bạn có thể sử dụng cmd sau:

Sau đó, sau khi tạo ứng dụng thành công, hãy vào thư mục dự án, cài đặt gói yêu cầu và bắt đầu dự án.

Basic Implementation: Default

Trước khi bắt đầu chúng ta cần đặt CSS file trong ứng dụng. Chèn mã sau vào ứng dụng của bạn. Về cơ bản bạn có thể đặt bất kỳ đâu trong ứng dụng. Trong ứng dụng này chúng ta sẽ đặt trong file app.js

Sau đó chúng ta import DatePicker component từ react-datepicker. Các sự kiện mà chúng ta sẽ cần là selected & onchange
selected lấy giá trị ngày tháng để biểu thị giá trị component. Trong khi onchange hoạt động là 1 hàm xử lý thay đổi selected giá trị.
onChange function lấy giá trị và chúng ta cần lầm là thay đổi giá trị của selected date được chọn. Cập nhật file App.js như sau:

Basic Implementation: Time Picker

Chúng ta có thể sử dụng component time-picker bởi showTimeSelect props. Times sẽ hiển thị khoảng 30 phút theo mặc
định. Chúng ta có thể chúng ta có thể dịnh dạng ngày sẽ hiển thị như thế nào theo dateFormat props. Trong trường hợp này chúng ta muốn hiển thị
trong component. Hảy sử dụng dateFormat="Pp". Chúng ta sẽ thay đổi App.js

Month & Year Picker

Ngoài date & time, khả năng chọn a month & year is một điều quan trọng cần có ở đây. component này cũng có tính năng chọn month & year.
Chỉ cần đảm bảo rằng chúng ta sử dụng đúng định dạng dateFormat ddeerr tối ưu các tính năng thay đổi App.js như sau:

Advanced Example: Booking Hotel Date-Picker

Chúng ta sẽ tạo một bộ chọn ngày đặt booking hotel date-picker component using react-datepicker. Mục tiêu là xây dựng 2
react-datepicker components làm cho cả 2 được kết nối làm ngày nhận trả phòng, sau đó hiển thị các ngày đã chọn.
Đầu tiên tất cả những gì chúng ta cần làm là tạo component for check-in and check-out. Chúng ta sẽ sử dụng minDate props để đặt giới hạn ngày tối thiểu cho người dùng.
Đặt mã này bên trong tệp App.js của bạn tại phần trả lại:

Cách đoạn mã trên xác định minDate. Đối với check-in component nó chỉ đơn giản là sử dụng dữ liệu hiện tại làm minDate, Người dùng không thể chọn được ngày trước ngày hôm nay. Và đối với thành phần thanh toán, chúng ta có thể xử dụng.
checkInDate value, có nghĩa là người dùng không thể chọn 1 ngày trươc ngày nhận phòng.

Bước tiếp theo sẽ là xác định cách chúng ta sẽ lưu giá trị vào trạng thái của mình và cách hoạt động của mỗi hàm thay đổi.
Đối với điều này, ý tưởng chính là chỉ cần tạo một trạng thái cho mỗi checkInDate and checkOutDate iá trị và lưu ngày ở đóập.
Sự khác biệt duy nhất là minDate của check-out component sẽ phụ thuộc vào checkInDate value, chúng ta cần phải thiết lại checkOutDate bất cứ khi nào checkIndate thay đổi. Vậy bạn cần update App.js

Phần cuối cùng là chúng ta cần hiển thị tóm tắt của đặt phòng. Nó sẽ chỉ được hiển thị khi cả ngày check-in and check-out date có giá trị. Đối vơi trường hợp này chúng ta sử moment.js để định dạng date. Cập nhật file App.js

Code hoàn chỉnh file App.js

File styles App.css

Conclusion

Bây giờ chúng ta biết cách sử dụng react-datepicker trong ứng dụng của mình. Sau khi làm theo hướng dẫn của bài viết này chúng ta có thể tái sử dựng cho các dự án tiếp theo.

References

https://momentjs.com/docs/

https://www.npmjs.com/package/react-datepicker

https://codesource.io/complete-react-datepicker-tutorial-with-examples/

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo