plotly / plotly/react-plotly.js
Tooltip misaligned when using global data object, layout prop and onHover that manipulates state
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.1k
- Forks
- 138
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 4
Descripción
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
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza ejecutando el CodeSandbox enlazado con las versiones de plotly.js y react-plotly.js indicadas; después, reproduce la desalineación pasando el cursor sobre un punto mientras el onHover personalizado actualiza el state. Sigue cómo el componente Plot gestiona el global data object, el layout prop y el rerender. Se considera terminado cuando el tooltip aparece correctamente y los puntos restantes permanecen alineados después de la actualización del state.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, react
- Área
- data-visualization, frontend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100