Perf: Transcript and Activity render speed #5183
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog Entry
BasicTranscript
, in PR 5183, by @OEvgenyuseActivitiesWithRenderer
, in PR 5183, by @OEvgenyDescription
Improve performance by more carefully memoizing activity-related components. Rework the
useMemoAll
hook into the newuseMemoized
hook exposing the memoized function to be used during render phase.Design
The main changes driving the performance boost are:
TranscriptActivity
to memoize everything we want to reuse for activity inside of a single componentrenderingElements
an array of React nodes, so it could be directly returned from rendermemo
when children are not changingSpecific Changes
BasicTranscript
improvementsmemo
for activity related componentsuseMemoAll
and replace withuseMemoized
useMemoized
TranscriptActivity
component-
CHANGELOG.md
I have updated documentationReview Checklist
Accessibility reviewed (tab order, content readability, alt text, color contrast)Browser and platform compatibilities reviewedCSS styles reviewed (minimal rules, noz-index
)Documents reviewed (docs, samples, live demo)Internationalization reviewed (strings, unit formatting)package.json
andpackage-lock.json
reviewedSecurity reviewed (no data URIs, check for nonce leak)