ziir / pariswebapp

Paris Web 2018 React/Redux performance workshop demo apps
https://parisweb.app
2 stars 2 forks source link

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

Open julienw opened 5 years ago

julienw commented 5 years ago

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:

solutions:

react-3

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

solutions:

react-4

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

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 commented 5 years ago

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...