Guarantees about re-rendering and setState batching inside an event handler
オープン
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 11.8k
- フォーク
- 7.9k
- 平均マージ
- 1日 11時間
- マージ済み PR(30日)
- 11
説明
Hi,
I have React 17 and I am using hooks. I believe answer is hinted by "Multiple updates inside event handlers get batched into a single update." ... https://reactjs.org/docs/implementation-notes.html#what-we-left-out , but I am not 100% sure I understand it correctly.
Does React guarantee that while my event handler is being processed no re-render happens? That is first re-render happens after my event handler exits.
const onClick = () => {
setState1(1);
// do some stuff
setState1(2);
// do some stuff
setState4(4);
// no-rerender will ever be called by React until this point (that is until function returns) ???
// re-render is only scheduled to happen ASAP
}
Thanks for answering :)
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、リンクされている React の実装ノートを読み、質問で説明されている React 17 のイベントハンドラーのバッチ処理の動作を確認します。ドキュメントに再レンダリングのタイミングと setState のバッチ処理に関する保証を記載すべきかどうかを判断し、意図する文言と範囲が確認できたら、該当するドキュメントを更新します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, react
- 領域
- documentation
- issue の種類
- ドキュメント
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100