Search code examples
flutterdartstatefulwidget

One big StatefulWidget or multiple small StatefulWidgets


I have a UI that has 20+ small widgets that need to update simultaneously, while some widgets remain Stateless. I was wondering if it is more efficient to have the whole UI updated rather than having each one updated individually.

In a broader scope, should I always opt out to having multiple, small StatefulWidgets updated rather than the whole UI, regardless of the number of widgets, considering that the widgets will be updated simultaneously? If not, is there any good measurement I can use to know how should I make that decision?


Solution

  • Late reply but it might help someone.

    TL;DR; Use multiple smaller widgets.

    I'm just working on a game where player has some time based reward boxes to open.

    I had a dilemma if I should create:

    • one Timer in the "parent" stateful widget and pass down the time to stateless children.

    Timer in parent

    • multiple timers in smaller stateful children widgets

    Timers in children

    You can see the performance results from dev tools (it was even better after I made some improvements).

    Of course please keep in mind that every case might be slightly different and results may vary :)