Preferred way of letting BLoCs collaborate
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm build an application in flutter using blocs. A one point I have a FAB button where I can navigate to a page where I can add data. This page consists of a root, the page A itself which includes a tabbar with 3 tabs B, C and D.
What I want to do is create an instance of a "person" and save it from Page A as this page has an overall save button. On each of the tabs B, C and D I can change details about the person I'm saving. So far I've created a bloc for each of the pages.
Now my question is how I make this collaboration simple and clean to ensure when I click Save on Page A I have all the data changed/collected in each tab.
Should I:
- Make the root page A Create the object of a person and pass it to
each sub bloc as a reference. - Let the root page A listen for streams
of each sub bloc - Something else :) ?
Just to be clear, I expect the Root page A to do all the saving using a service/repository..
flutter reactive-programming
add a comment |
I'm build an application in flutter using blocs. A one point I have a FAB button where I can navigate to a page where I can add data. This page consists of a root, the page A itself which includes a tabbar with 3 tabs B, C and D.
What I want to do is create an instance of a "person" and save it from Page A as this page has an overall save button. On each of the tabs B, C and D I can change details about the person I'm saving. So far I've created a bloc for each of the pages.
Now my question is how I make this collaboration simple and clean to ensure when I click Save on Page A I have all the data changed/collected in each tab.
Should I:
- Make the root page A Create the object of a person and pass it to
each sub bloc as a reference. - Let the root page A listen for streams
of each sub bloc - Something else :) ?
Just to be clear, I expect the Root page A to do all the saving using a service/repository..
flutter reactive-programming
add a comment |
I'm build an application in flutter using blocs. A one point I have a FAB button where I can navigate to a page where I can add data. This page consists of a root, the page A itself which includes a tabbar with 3 tabs B, C and D.
What I want to do is create an instance of a "person" and save it from Page A as this page has an overall save button. On each of the tabs B, C and D I can change details about the person I'm saving. So far I've created a bloc for each of the pages.
Now my question is how I make this collaboration simple and clean to ensure when I click Save on Page A I have all the data changed/collected in each tab.
Should I:
- Make the root page A Create the object of a person and pass it to
each sub bloc as a reference. - Let the root page A listen for streams
of each sub bloc - Something else :) ?
Just to be clear, I expect the Root page A to do all the saving using a service/repository..
flutter reactive-programming
I'm build an application in flutter using blocs. A one point I have a FAB button where I can navigate to a page where I can add data. This page consists of a root, the page A itself which includes a tabbar with 3 tabs B, C and D.
What I want to do is create an instance of a "person" and save it from Page A as this page has an overall save button. On each of the tabs B, C and D I can change details about the person I'm saving. So far I've created a bloc for each of the pages.
Now my question is how I make this collaboration simple and clean to ensure when I click Save on Page A I have all the data changed/collected in each tab.
Should I:
- Make the root page A Create the object of a person and pass it to
each sub bloc as a reference. - Let the root page A listen for streams
of each sub bloc - Something else :) ?
Just to be clear, I expect the Root page A to do all the saving using a service/repository..
flutter reactive-programming
flutter reactive-programming
asked Nov 15 '18 at 13:48
Rasmus ChristensenRasmus Christensen
5,16483261
5,16483261
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
If all the tabs are doing is editing the same person object, use ONE PersonBloc for all views. If the tabs need there own Blocs for other business logic they can pipe the changes to the PersonBloc.
Yeah I think you're right. Writing the question made me think in that direction too :) Thanks!
– Rasmus Christensen
Nov 15 '18 at 20:00
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53320920%2fpreferred-way-of-letting-blocs-collaborate%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If all the tabs are doing is editing the same person object, use ONE PersonBloc for all views. If the tabs need there own Blocs for other business logic they can pipe the changes to the PersonBloc.
Yeah I think you're right. Writing the question made me think in that direction too :) Thanks!
– Rasmus Christensen
Nov 15 '18 at 20:00
add a comment |
If all the tabs are doing is editing the same person object, use ONE PersonBloc for all views. If the tabs need there own Blocs for other business logic they can pipe the changes to the PersonBloc.
Yeah I think you're right. Writing the question made me think in that direction too :) Thanks!
– Rasmus Christensen
Nov 15 '18 at 20:00
add a comment |
If all the tabs are doing is editing the same person object, use ONE PersonBloc for all views. If the tabs need there own Blocs for other business logic they can pipe the changes to the PersonBloc.
If all the tabs are doing is editing the same person object, use ONE PersonBloc for all views. If the tabs need there own Blocs for other business logic they can pipe the changes to the PersonBloc.
answered Nov 15 '18 at 15:29
ThorreThorre
247211
247211
Yeah I think you're right. Writing the question made me think in that direction too :) Thanks!
– Rasmus Christensen
Nov 15 '18 at 20:00
add a comment |
Yeah I think you're right. Writing the question made me think in that direction too :) Thanks!
– Rasmus Christensen
Nov 15 '18 at 20:00
Yeah I think you're right. Writing the question made me think in that direction too :) Thanks!
– Rasmus Christensen
Nov 15 '18 at 20:00
Yeah I think you're right. Writing the question made me think in that direction too :) Thanks!
– Rasmus Christensen
Nov 15 '18 at 20:00
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53320920%2fpreferred-way-of-letting-blocs-collaborate%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown