fix(alerts): force re-render for stale RuleForm #82842
Merged
+4
−0
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.
Closes #82335.
This PR "fixes" a state bug that occurs when an Alert is edited, saved, and then edited again. It's an admittedly gross hack, but we're about to completely refactor the
RuleForm
component as part of the Alerts Create Issues (ACI) project, so fixing this properly would be wasted effort.Explanation
The bug occurs because the
RuleForm
component derives many pieces of internalstate
from therule
prop. However, because the internal state is only derived when the component mounts, subsequent updates to therule
prop are never propagated to the derivedstate
values, causing thestate
to get out-of-sync with the freshrule
data.Bugs of this nature are common with class-based components, which is why the codebase now uses functional components with
react-query
. We'll be migrating this area of the codebase to these new patterns in ACI.