Trong bài này chúng ta sẽ bàn luận về React-Bootstrap hay Bootstrap framework đã được “xây dựng lại” cho React. Nếu các bạn chưa biết đến React có thể tham khảo bài viết giới thiệu tại đây Show Nội dung chính Hiển thị
tổng quanReact-Bootstrap cung cấp sẵn một bộ các thành phần React với giao diện của thành phần Twitter Bootstrap từ đó giúp việc xây dựng giao diện người dùng cho ứng dụng React dễ dàng hơn bao giờ hết. Ví dụ khi ta mô tả một button nhỏ, văn bản là “Something”, click event trigger hàm gọi lại “someCallback” Với Twitter Bootstrap chúng ta có
and install click event for button in Javascript Với React-Bootstrap chúng ta chỉ cần viết như sau
Tại sao chúng ta lại cần thêm React-Bootstrap khi hoàn toàn có thể sử dụng hệ thống chính Bootstrap với React?1. Unregistration subtitled to jQueryBootstrap được đóng gói kèm theo bootstrap. js, thư viện này phụ thuộc vào jQuery và jQuery thực hiện các phép tính toán để thay đổi DOM thực. Trong khi đó React không tương tác trực tiếp với DOM thực mà gián tiếp thông qua DOM ảo. Khi họ bất ngờ để jQuery thay đổi DOM thực, React không biết đến sự thay đổi đó dẫn đến việc DOM ảo và DOM thực mất tính đồng bộ và phát sinh lỗi xung đột. Sử dụng thành phần React-Bootstrap chúng ta có thể tránh được vấn đề này 2. Cung cấp Bootstrap API “sạch” hơnMã Bootstrap thường lặp lại ví dụ như ở đoạn mã html trên chúng ta phải viết “btn” tới 3 lần trong “btn btn-success btn-sm” để mô tả một phần tử “nút”. Phản ứng quản lý toàn bộ quá trình kết xuất trang web thông qua Javascript. Vì vậy, bạn chỉ cần mô tả phần tử được hiển thị như thế nào bằng một đối tượng Javascript và React sẽ làm phần việc còn lại, tạo ra phần tử đó trong DOM và hiển thị trên trình duyệt cho bạn Tiếp tục ví dụ trên, với Bootstrap ta có thể mô tả phần tử “nút” bằng Javascript như sau
và chính vì công việc mô tả một phần tử giờ đây được thực hiện thông qua Javascript ta có thể khắc phục nhược điểm của Bootstrap bằng cách sử dụng “bọc” HTML, CSS và cung cấp một bộ API mới, dễ đọc, dễ viết hơn
Ở đây component "button" có 3 props là bsStyle, bsSize và children. Đó cũng chính là lợi ích mà React-Bootstrap trả lại cho chúng ta - code “sạch” hơn. Với việc sử dụng JSX (cú pháp giống HTML), cây của những phần tử dưới dạng đối tượng Javascript thậm chí còn gọn gàng và dễ hiểu hơn nữa. Hãy thử xem xét ví dụ về một Navbar Với Bootstrap
And Navbar with React-Bootstrap
Tất cả những gì bạn cần làm là sử dụng cú pháp JSX mô tả phần tử giao diện người dùng và React sẽ tự động chuyển đổi từ cú pháp JSX sang đối tượng Javascript, thật tuyệt ha Kết luậnReact-Bootstrap giúp nhà phát triển React làm việc hiệu quả hơn với việc sử dụng các thành phần đó của Bootstrap đã được đơn giản hóa thành các thành phần đó của React. Đồng thời nó cũng hạn chế những rắc rối từ những thư viện có thể xâm nhập vào DOM thật như jQuery |