plotly / plotly/react-plotly.js
Tooltip misaligned when using global data object, layout prop and onHover that manipulates state
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- JavaScript
- Estrelas
- 1.1k
- Forks
- 138
- Merge médio
- 3d 2h
- PRs com merge (30d)
- 4
Descrição
The tooltip hover functionality gets messed up when the following conditions are met:
- You got your own data object which isn't reinitialized every time the plot is rendered.
- You have declared a custom onHover function
- You update state to get the component to re-render
- You have defined the layout property in the Plot component
This sandbox reproduces the error
https://codesandbox.io/s/qx5qr2m5x4
Hover one of the points in the plot. The tooltip will be shown briefly and afterwards the rest of the points will be misaligned towards the axes.
Versions used:
plotly.js 1.37.1
react-plotly.js 2.2.0
Tested on:
chrome
edge
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
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.
Direção de pesquisa
Comece executando o CodeSandbox vinculado com as versões listadas de plotly.js e react-plotly.js; em seguida, reproduza o desalinhamento passando o cursor sobre um ponto enquanto o onHover personalizado atualiza o state. Rastreie como o componente Plot lida com o global data object, o layout prop e o rerender. O trabalho estará concluído quando o tooltip aparecer corretamente e os pontos restantes permanecerem alinhados após a atualização do state.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- javascript, react
- Domínio
- data-visualization, frontend
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100