Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Tree freezes when used in controlled mode with `motion` and `expandAction="click"`

Đang mở
#684 0 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
48/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
react, typescript
Lĩnh vực
frontend

Hướng nghiên cứu

Bắt đầu với bản tái hiện App.jsx trong CodeSandbox được liên kết và so sánh nó với các ví dụ basic-controlled và animation. Theo dõi đường đi của quá trình mở rộng có kiểm soát khi cả expandAction="click" và motion đều được bật, đặc biệt là sau khi nhấp vào một nút lá. Hoàn thành khi các nút vẫn có thể được mở rộng và thu gọn mà không cần render lại từ bên ngoài.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi,

When using rc-tree in controlled mode, with some animations (with the motion prop), and with expandAction="click", then the Tree gets stuck whenever you click on a leaf.
When that happens, you can no longer expand or collapse the nodes.
The only way out is to trigger a re-render of the Tree by some external event, such as a drag-and-drop or clicking a button that changes the tree state.

This can be really troubling for the end user, as they think the app is broken.

rc-tree-bug-expand-motion

Here is a codesandbox that reproduces the issue: https://codesandbox.io/s/lucid-frog-mks62z?file=/App.jsx

It is based on the basic-controlled example, to which I applied the following changes:

  1. Remove onCheck, checkedKeys, onSelect and selectedKeys props
  2. Add expandAction="click"
  3. Add motion={motion} with some style (from the animation example)

Steps to reproduce:

  1. Expand all nodes until you come to a leaf
  2. Click on the leaf title
  3. Nodes can no longer be expanded nor collapsed

rc-tree version: 5.7.0

Thanks for your help!

Ngôn ngữ chính
TypeScript
Star
1.3k
Fork
490
Merge trung bình
42 phút
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của react-component/tree

Tất cả issue của react-component/tree

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.