Fix StrictMode errors in FixedDataTableContainer #740
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.
Description
When StrictMode is enabled, and FDT is run under React v19, we run into NPEs in the top-level FixedDataTableContainer component, causing the table to not function correctly.
In StrictMode runs the constructor and lifecycle methods of
FixedDataTableContainer
a second time.The order I observed was as follows:
So when running in StrictMode, the handlers/redux store gets initialized in the
constructor
, and then immediately gets destroyed incomponentWillUnmount
, leading the table to be in a destroyed state.I'm fixing this by moving the initialization logic to both the
constructor
andcomponentDidMount
, following what we did in #657 in the past.Motivation and Context
Fixes #738.
How Has This Been Tested?
Tested with local examples running React v19.
Tested with a Vite client app running React v19.
Types of changes
Checklist: