Comments (4)
That's a great idea, also! Thank you.
from hybrids.
The main reason why I've added dispatch
helper function into the library was to simplify the process of dispatching events. Because of that, I wanted this function to be as simple as possible - just passing name of event and possible options.
I am not sure what your actionCreator(/* possible data here */)
returns to actionEvent
, but the latter returns CustomEvent
instance, right?
You can achieve a similar effect without modifying or extending dispatch
function. If your actionEvent
would return ['eventType', options = {}]
, you could use it like this:
const dispatchArgs = actionEvent(actionCreator(/* possible data here */));
dispatch(host, ...dispatchArgs);
In this way, your actionEvent
does not have to create the custom event directly anymore and you still using dispatch
from hybrids.
What do you think?
from hybrids.
Unfortunately, I can't rely on developers of all skill levels understanding dispatch(host, ...args)
syntax. But I could provide a method that creates the init options object, and rely on all developers providing the event name manually:
dispatch(host, 'action-event', actionCreator(/* data here */))
This has the benefit of matching the existing dispatch
arguments in Hyrbids. The downside is there's a bit more boilerplate for developers to write.
from hybrids.
After all you can also hide implementation details into the actionCreator
, which could take host
as an argument and dispatch event for that host:
dispatchAction(host, /* data here */);
// and inside of the dispatchAction
function dispatchAction(host, /* data here */) {
...
dispatch(host, 'action-event', { ..., detail: action });
}
from hybrids.
Related Issues (20)
- How to add focus when opening a form? HOT 4
- I can't write a polymorphic model definition for GeoJson objects HOT 7
- Content is not updated when creating a model HOT 2
- Using "store([Model])" causes a TypeScript error HOT 18
- Clearing a draft causes a TypeScript error. HOT 7
- "children" fabric causes TypeScript error HOT 4
- using 'host.render()' and 'host.content()' causes a TypeScript error HOT 4
- The "store(Model, { id: value })" descriptor does not resolve "id" correctly to the model instance. HOT 3
- The "store(Model, { id:value })" descriptor does not work correctly. HOT 2
- Add a helper for assigning component properties HOT 3
- Dynamic columns not showing when render a html table HOT 4
- '"hybrids"' has no exported member named 'property'. Did you mean 'Property'? HOT 8
- Add support for "TypeScript v5" HOT 3
- I can't create an arbitrary number of nested forms: HOT 6
- Small Type Inferencing Issue with Property<E, V> HOT 3
- Cannot pass an object to the API via the "list" method HOT 7
- version 8.2.17 backwards compatibility is broken! HOT 9
- Expand the functionality of drafts
- sync() with nested models is broken HOT 4
- Allow storing an object in a component property HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hybrids.