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.
Details
This PR implements a dependencies array to
useOnyx
. Similarly to the dependencies array of React hooks e.g.useMemo
/useCallback
, any changes to the variables inside the dependencies array will make the hook trigger an update to return the latest value to the consumer.Related Issues
Expensify/App#52597
Automated Tests
Unit tests were implemented to cover this change.
Manual Tests
Since it's a feature that won't be used yet, I only added simple tests proving that E/App works.
Author Checklist
### Related Issues
section aboveTests
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Screen.Recording.2024-12-05.at.21.35.10-compressed.mov
Android: mWeb Chrome
Screen.Recording.2024-12-05.at.21.37.53-compressed.mov
iOS: Native
Screen.Recording.2024-12-05.at.21.47.37-compressed.mov
iOS: mWeb Safari
Screen.Recording.2024-12-05.at.21.49.27-compressed.mov
MacOS: Chrome / Safari
Screen.Recording.2024-12-05.at.21.50.35-compressed.mov
Screen.Recording.2024-12-05.at.21.51.16-compressed.mov
MacOS: Desktop
Screen.Recording.2024-12-05.at.21.53.56-compressed.mov