Event Handlers Don't Update

Ouverte
#150 0 commentaires 6 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
50/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
javascript, react

Piste de recherche

Commencez dans src/factory.js autour de la ligne 212, où syncEventHandlers gère les props des événements du graphique, et utilisez la reproduction CodePen liée pour observer le changement du callback. Le travail est terminé lorsque la modification de la prop onRelayout fait que le prochain événement d’autoscale appelle le nouveau callback plutôt que l’original.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

I'm using 2.3.0 and noticed that the code doesn't account for an event handler prop changing. So, for instance, if I have a component with:

const MyComponent = ({ someCallback }) => (
   <Plot
     data={data}
     onRelayout={someCallback}
   />
);

The someCallback that is called is the first one. Here's a Codepen reproducing:

https://codepen.io/gonzofish/pen/OevOjx

To see it in action, just click autoscale on the chart and you'll see the message change to "Callback 1 Reporting In". If you change the callback by clicking "Change to 2" and then clicking autoscale again, the message doesn't change, despite the callback being changed.

I believe the issues stems from syncEventHandlers only account for two modes: (1) the handler isn't already set but has been provided as a prop and (2) the handler was set but the prop is not longer there. That starts at:

https://github.com/plotly/react-plotly.js/blob/master/src/factory.js#L212

Langage dominant
JavaScript
Étoiles
1.1k
Forks
138
Merge moyen
3 j 2 h
PR mergées (30 j)
4

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de plotly/react-plotly.js

Toutes les issues de plotly/react-plotly.js

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.