Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

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

未關閉
#684 0 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
3/5
預估耗時
1-2 天
新手友好度
48/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
react, typescript
領域
frontend

研究方向

從連結的 CodeSandbox 中的 App.jsx 重現開始,並將其與 basic-controlled 和 animation 範例進行比較。當 expandAction="click" 和 motion 同時啟用時,追蹤受控展開路徑,尤其是在點擊葉節點之後。完成的標準是:無需外部重新渲染,節點仍然可以展開和摺疊。

由索引模型根據 Issue 內容生成。

描述

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!

主要語言
TypeScript
星號
1.3k
分支
490
平均合併
42 分鐘
30 天內合併 PR
2

環境準備

我們還沒有檢查這個專案的環境設定檔。先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

react-component/tree 的其他 Issue

查看 react-component/tree 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。