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

docs: Remove callback prop example from 02-runes.md #10740

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

leoj3n
Copy link

@leoj3n leoj3n commented Mar 10, 2024

$: and $effect are not related to events and callback props.

Currently this example doesn't really make any sense AFAICT. It is not clear what it is trying to exemplify that is not already covered by the first to "Don't do this; Do this instead" examples showing using $derived(.by) for setting $state based on other $state. It looks like callback props are related to events, nothing really to do with bound values that are read in $:. Perhaps this was meant to be a third $derived example that shows use with bind: or something along those lines?

Please correct me if I'm wrong; perhaps this example exists for a reason I don't understand.

Svelte 5 rewrite

Please note that the Svelte codebase is currently being rewritten for Svelte 5. Changes should target Svelte 5, which lives on the default branch (main).

If your PR concerns Svelte 4 (including updates to svelte.dev.docs), please ensure the base branch is svelte-4 and not main.

Before submitting the PR, please make sure you do the following

  • It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
  • Prefix your PR title with feat:, fix:, chore:, or docs:.
  • This message body should clearly illustrate what problems it solves.
  • Ideally, include a test that fails without this PR but passes with it.

Tests and linting

  • Run the tests with pnpm test and lint the project with pnpm lint

$: and $effect are not related to events and callback props.
Copy link

changeset-bot bot commented Mar 10, 2024

⚠️ No Changeset found

Latest commit: 3afe5ed

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@dummdidumm
Copy link
Member

The example shouldn't be removed, this is a case where using derived wouldn't work because the state can not be derived. That said, the example doesn't make it that clear, so we should probably see how we can clarify that.

@Rich-Harris
Copy link
Member

To be honest I don't really understand this example either. It seems like it's kinda covered by the more general 'don't use $effect to synchronise state' guidance immediately above. I would go further and remove the following section too — opened #10750.

@benmccann
Copy link
Member

$: and $effect are not related to events and callback props.

Without commenting on this specific example, which I haven't looked at closely, you can avoid using $effect by leveraging callback props. This is quite separate from events. For an example, see #9944 (comment).

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.

None yet

4 participants