Một cái gì đó đơn giản thế này có thể dễ dàng hoàn thành, nhưng tôi đang giật mình vì nó phức tạp như thế nào.
Tất cả những gì tôi muốn làm là tạo hiệu ứng cho việc gắn và tháo một thành phần React, thế là xong. Đây là những gì tôi đã thử cho đến nay và tại sao mỗi giải pháp không hoạt động:
ReactCSSTransitionGroup
- Tôi hoàn toàn không sử dụng các lớp CSS, tất cả đều là kiểu JS, vì vậy điều này sẽ không hoạt động.ReactTransitionGroup
- API cấp thấp hơn này rất tuyệt, nhưng nó yêu cầu bạn sử dụng lệnh gọi lại khi hoạt ảnh hoàn tất, vì vậy chỉ sử dụng chuyển tiếp CSS sẽ không hoạt động ở đây. Luôn có các thư viện hoạt ảnh, dẫn đến điểm tiếp theo:- GreenSock - Việc cấp phép quá hạn chế đối với IMO sử dụng cho doanh nghiệp.
- React Motion - Điều này có vẻ tuyệt vời, nhưng
TransitionMotion
cực kỳ khó hiểu và quá phức tạp đối với những gì tôi cần. - Tất nhiên, tôi có thể thực hiện các thủ thuật như Material UI, trong đó các phần tử được hiển thị nhưng vẫn bị ẩn (
left: -10000px
) nhưng tôi không muốn đi theo con đường đó. Tôi coi đó là hack và tôi muốn các thành phần của mình ngắt kết nối để chúng dọn dẹp và không làm lộn xộn DOM.
Tôi muốn một cái gì đó dễ thực hiện. Trên mount, tạo hoạt ảnh cho một tập hợp các kiểu; khi ngắt kết nối, tạo hiệu ứng cho cùng một bộ kiểu (hoặc một bộ khác). Làm xong. Nó cũng phải có hiệu suất cao trên nhiều nền tảng.
Tôi đã đụng phải một bức tường gạch ở đây. Nếu tôi thiếu điều gì đó và có một cách dễ dàng để thực hiện việc này, hãy cho tôi biết.