Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Liste de répertoires et de problèmes à corriger #6

Open
julienw opened this issue Sep 28, 2018 · 1 comment
Open

Liste de répertoires et de problèmes à corriger #6

julienw opened this issue Sep 28, 2018 · 1 comment

Comments

@julienw
Copy link
Collaborator

julienw commented Sep 28, 2018

react-1

Les fonctions manquantes dans react-1 selon moi:

  1. filtrage par champ texte
    • dans react-1 on peut faire ce filtre directement dans render()
  2. filtrage par année (avec un bouton par année distincte disponible -- encore ce filtre peut être directement dans render dans react-1)
  3. filtrage des confs sélectionnées (une checkbox détermine si on affiche que les confs sélectionnées ou pas) -- avec sauvegarde en localStorage
  4. pour la récupération de agenda.json, je crois que pour ça on devrait le récupérer toutes les 5 secondes avec un appel fetch. Dans react-1 on mettrait à jour le state directement sans vérifier s'il change et ça triggererait toujours un reflow quand on passera à ReactComponent. Théoriquement ça change jamais dans notre cas, mais c'est un usage courant tout de même.
  5. ... penses-tu à autre chose ? Je crois que c'est déjà pas mal. Le but étant d'avoir plusieurs états différents, pour montrer l'intérêt futur des selectors mémoisés, des filtres pour aussi montrer que si rien ne change on ne devrait rien modifier.

react-2

problèmes:

  • toutes les 5 secondes il y a un rendu
  • le render est coûteux et ça se voit dans un profil

solutions:

  • ne pas faire de setState si la récupération de agenda.json donne le même fichier
  • stocker le résultat des filtres dans le state pour éviter de le faire dans render

react-3

problème: quand on rend les items, ils sont rerendus entièrement même si rien ne change

solutions:

  • transformer la liste des années (pour le filtre du haut) en PureComponent
  • transformer les ListItems en PureComponent ou shouldComponentUpdate

react-4

problème: lorsqu'on filtre, les items sont rerendus entièrement
solutions:

  • ajouter des key

react-5

(j'aimerais bien trouver le problème qui irait avec la transformation de PresentationList en PureComponent, et pouvoir parler de l'immutabilité de notre liste sélectionnée, mais je trouve pas: a priori on voudra bien rerendre la liste à chaque setState, non ?)

redux-1

conversion de l'application avec redux, en mode assez basique (sans reselect)

redux-2

utilisation de reselect

qu'en penses-tu ?

@julienw
Copy link
Collaborator Author

julienw commented Sep 30, 2018

Je pense avoir fait à peu près tout dans react-1, sauf le localStorage.
Si tu acceptes les PR il faudrait ensuite les reporter dans react-2 et continuer...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant