Tree freezes when used in controlled mode with `motion` and `expandAction="click"`
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- react, typescript
- Domínio
- frontend
Direção de pesquisa
Comece pela reprodução de App.jsx no CodeSandbox vinculado e compare-a com os exemplos basic-controlled e animation. Rastreie o caminho de expansão controlada quando expandAction="click" e motion estiverem ambos habilitados, especialmente após clicar em uma folha. Está concluído quando os nós ainda puderem ser expandidos e recolhidos sem uma nova renderização externa.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.

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:
- Remove
onCheck,checkedKeys,onSelectandselectedKeysprops - Add
expandAction="click" - Add
motion={motion}with some style (from the animation example)
Steps to reproduce:
- Expand all nodes until you come to a leaf
- Click on the leaf title
- Nodes can no longer be expanded nor collapsed
rc-tree version: 5.7.0
Thanks for your help!
- Linguagem predominante
- TypeScript
- Estrelas
- 1.3k
- Forks
- 490
- Merge médio
- 42min
- PRs com merge (30d)
- 2
Preparar o ambiente
Ainda não verificamos os arquivos de configuração deste projeto. Comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de react-component/tree
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 55/100
react-component/tree#1068 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
react-component/tree#983 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
react-component/tree#937 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
react-component/tree#935 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
react-component/tree#929 ·
Todas as issues de react-component/tree
Issues semelhantes
-
bug via-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
pingdotgg/t3code#14452 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
solana-foundation/program-examples#747 · 1 comentário ·
Mantenedores costumam responder em até 9 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
remotion-dev/remotion#11847 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
openwatersio/slackwater#355 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
melgarafael/DeskcommCRM#1998 · 3 comentários ·
Mantenedores costumam responder em até 1 dia