BlueBaseJS / BlueBaseJS/core

Component Memoization Support

Ouverte
#9 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
TypeScript
Étoiles
3
Forks
1
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Requirements

To improve the performance of BlueRain projects, we need to figure out a way to add component memoization. This means for some components if they are passes same props, again and we expect the same output every time, we don't need to process the render again. We instead return a previous render result, that was cached during the first render.

## Approach

The simplest solution at this time seems to be as follows:
- Add a cache or memoize property for each component in registry.
- During component resolution, for every component that has cache (or memoize) property set to ture, just wrap the component in an hoc from one a memoize library (e.g. [moize](https://github.com/planttheidea/moize)

## Not Doing

- Implementing custom memoization logic

## Possible Memoize libraries

- [moize](https://github.com/planttheidea/moize)

## Useful Links

- https://medium.com/@planttheidea/memoize-react-components-33377d7ebb6c

Guide de contribution

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

Piste de recherche

L’issue ne mentionne aucun fichier, test ou point d’entrée. Commencez par localiser le registre des composants et le chemin de résolution des composants dans le code TypeScript, puis évaluez le flag de registre proposé et le wrapper externe de mémoïsation. Le travail est considéré comme terminé lorsque l’approche retenue prend en charge les composants mémoïsés sans logique de mémoïsation personnalisée.

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

Évaluation

Stack technique
typescript
Domaine
performance
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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