Phần tử đổi kích thước từ kích thước trên màn hình sang kích thước tự nhiên của nội dung mới, nên nút không bao giờ nhảy.
Nội dung cũ mờ đi tại chỗ trong khi nội dung mới hiện ra; không cái nào bị dàn lại trong lúc hoán đổi.
Đổi ngược lại giữa lúc hoán đổi sẽ tiếp tục từ những gì đang trên màn hình thay vì chồng thêm bản sao.
Children là văn bản thường thì chính là value; với thứ khác hãy truyền value.
Dùng cho
Lưu, rồi Đang lưu…, rồi Đã lưu.
Khung xương trở thành thẻ hồ sơ.
Nút phát trở thành nút tạm dừng.
Props
Prop
Kiểu
Mặc định
Mô tả
value
unknown
Danh tính của nội dung; giá trị mới sẽ hoán đổi. Children là văn bản thường thì chính là danh tính.
children
ReactNode
Nội dung.
as
element
'span'
Phần tử được render.
inline
boolean
as === 'span'
true lấy kích thước theo nội dung (nhãn, biểu tượng); false lấp đầy chiều rộng phần tử cha và tạo hoạt ảnh cho chiều cao.
align
'start' | 'center' | 'end'
'center'
Vị trí của nội dung trong lúc kích thước thay đổi.
effect
'fade' | 'up' | 'down' | 'scale'
'fade'
Cách nội dung vào và ra: up đi lên, down rơi xuống, scale lớn dần.
transition
Transition
spring
Đường cong timing { duration, easing } hoặc lò xo { tempo: 'spring', spring }. Lò xo giữ đà khi bị ngắt.
onMotionComplete
(value) => void
Chạy khi chuyển động dừng hẳn.
Các props khác được chuyển tới phần tử được render, nên className, style và trình xử lý sự kiện hoạt động như bình thường.
Web và React Native
inline (mặc định khi render dưới dạng span) tạo hoạt ảnh cho chiều rộng và chiều cao; inline={false} lấp đầy chiều rộng phần tử cha và tạo hoạt ảnh cho chiều cao.
Trên React Native, hoán đổi inline đo nội dung mới trên một dòng; hãy dùng inline={false} cho nội dung xuống dòng.