Tools for composing flutter widget trees in a functional manner. Inspired by recompose.
Your widget tree should be a function of your applications state, so why would you write widgets as classes and not functions?
functional_flutter encourages you to separate your state and properties from your widget definition. Rather than have a class that has properties and a build function implemented, you can lift the properties into a class and write FunctionalWidgets
that take a properties class and return a widget.
Following this pattern helps make your application easier to reason about and it decreases the amount of widgets in the tree.
Properties should always be a value type. I suggest you leverage built_value or meta's @immutable annotation for your prop classes.
The withState widget enhancer lets you lift state into a functional wrapper. See the example.
The withBuiltReduxStore enhancer also lets you subscribe to state from your built_redux store if you are using built_redux as a state management solution.