4 ms·
Yeah, I think the original question was a bit weirdly worded which made people focus on web workers rather than complex data in general. You can use properties
by MrJohz 1y ago
Yeah, I think the original question was a bit weirdly worded which made people focus on web workers rather than complex data in general.
You can use properties (as opposed to attributes) as I demonstrated, and you can use methods like you suggest, but these are both verbose and limited, and add an extra "the component has been created but the props haven't been fully passed" state to the component you're writing. Imagine a component with maybe five different props, all of which are complex objects that need to be passed by property. That's a lot of boilerplate to work with.
- spankalee 1y agoIn what way are properties verbose and limited in your view? You can set them declaratively with a template binding in most template systems.
- MrJohz 1y agoI showed earlier how it takes multiple lines and some fiddling with DOM to set a simple property with vanilla web components. Sure, if you're using a framework like lit, you have access to template binding, but at that point you might as well use an equivalent framework like SolidJS or Svelte which just skips the web component layer.
- spankalee 1y agoSkipping the web component later would skip then interoperable component part.
- mikebelanger 1y agoBringing it back to the site, the author does describe implementations of context providers and signals: https://plainvanillaweb.com/blog/articles/2024-10-07-needs-more-context/ https://plainvanillaweb.com/blog/articles/2024-10-07-needs-m... https://plainvanillaweb.com/blog/articles/2024-08-30-poor-mans-signals/ https://plainvanillaweb.com/blog/articles/2024-08-30-poor-ma... I haven't tried signals yet, but I couldn't see why you could pass in an object with multiple values.