Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(react): trigger useComponentValue on deleted records #1959

Merged
merged 3 commits into from
Nov 30, 2023

Conversation

emersonhsieh
Copy link
Contributor

Copy link

changeset-bot bot commented Nov 23, 2023

🦋 Changeset detected

Latest commit: bc8d0f0

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 30 packages
Name Type
@latticexyz/react Patch
@latticexyz/dev-tools Patch
@latticexyz/abi-ts Patch
@latticexyz/block-logs-stream Patch
@latticexyz/cli Patch
@latticexyz/common Patch
@latticexyz/config Patch
create-mud Patch
@latticexyz/ecs-browser Patch
@latticexyz/faucet Patch
@latticexyz/gas-report Patch
@latticexyz/network Patch
@latticexyz/noise Patch
@latticexyz/phaserx Patch
@latticexyz/protocol-parser Patch
@latticexyz/recs Patch
@latticexyz/schema-type Patch
@latticexyz/services Patch
@latticexyz/solecs Patch
solhint-config-mud Patch
solhint-plugin-mud Patch
@latticexyz/std-client Patch
@latticexyz/std-contracts Patch
@latticexyz/store-cache Patch
@latticexyz/store-indexer Patch
@latticexyz/store-sync Patch
@latticexyz/store Patch
@latticexyz/utils Patch
@latticexyz/world-modules Patch
@latticexyz/world Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@@ -33,7 +33,7 @@ export function useComponentValue<S extends Schema>(
setValue(entity != null ? getComponentValue(component, entity) : undefined);
if (entity == null) return;

const queryResult = defineQuery([Has(component)], { runOnInit: false });
const queryResult = defineQuery([Has(component)], { runOnInit: true });
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we know if this works for adding/deleting records after the initial delete? I suspect this might just help with the first one, but I could be wrong

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fix still has useComponentValue update if the same record is added after they're deleted. In MUDv1 where the issue had already existed, the issue happened when a record that already existed on init was then deleted, which useComponentValue didn't update without { runOnInit: true }. If a record didn't already exist upon init, was created, and then deleted, then the hook correctly updated even without the fix.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you wanna see if you can wire up a test to show this behavior and so we don't regress on this?

@holic holic changed the title fix(react): runOnInit to true in useComponentValue query to listen on deleted records fix(react): trigger useComponentValue on deleted records Nov 30, 2023
@holic holic merged commit 9ef3f9a into latticexyz:main Nov 30, 2023
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug(recs): useComponentValue doesn't trigger when record is deleted
2 participants