Add the ability to forward
messages to multiple receivers
#653
Labels
10000
forward
messages to multiple receivers
#653
Discussed in https://github.com/orgs/Relm4/discussions/644
Originally posted by chriskilding May 28, 2024
Imagine you have the following Components, as part of a wider application:
App
: your top-level component with the app windowDocument
: a headless component, just responsible for saving thingsContent
: a content sub-viewSidebar
: a sidebar sub-viewAt the moment, if
Content
orSidebar
raise any events that you'd like to save to theDocument
, you'd have to relay all those events through theApp
's events. In other words you have to createAppInput
events that mirror all of theContent
andSidebar
events.As a result, the
App
's events balloon to encompass everything you might want to send to (or between) the child views, which is not ideal.Is there a better way to accomplish this?
What if the
MessageBroker
(or something like it, such as aRouter
) were adapted to provide the ability to forward events to multiple receivers. Something like this...Side note: I don't exactly know where the
broker
(orrouter
) object should be hosted, so initially I've made it one of thefn init
arguments / context. This also means its parent Component will have a persistent reference to it, which ensures thebroker
object will stick around for the lifetime of the Component (which is what we want).The text was updated successfully, but these errors were encountered: