Getting started

Add dependency to your pubspec.yaml:

custom_state: 'any'

Usage

Import packages:

import 'package:custom_state/custom_state.dart';

CustomView:

enum YourState{ initial, loading, done }
CustomStateView<YourState>(
    key: stateKey,
    stateBuilder: (context, states, customState) {
        if (states.contains(YourState.initial)) {
            return Text(
                'initial'
                );
        } else if (states.contains(YourState.loading)){
            return Text(
                'Loading'
                );
        } else {
            return Text(
            'Done'
            );
        } 
    },
),
  • Change state
final GlobalKey<CustomState<YourState>> stateKey = GlobalKey();
...
stateKey.currentState?.replaceCustomState({YourState.loading});

Features and bugs

Please file feature requests and bugs at the issue tracker.