BlueBaseJS / BlueBaseJS/core

Component Memoization Support

オープン
#9 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
TypeScript
スター
3
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

この issue ではファイル、テスト、エントリーポイントが指定されていません。まず TypeScript コード内のコンポーネントレジストリとコンポーネント解決パスを特定し、次に提案されているレジストリフラグと外部メモ化ラッパーを評価してください。選択したアプローチで、カスタムのメモ化ロジックなしにメモ化されたコンポーネントをサポートできれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
typescript
領域
performance
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。