I'm developing an app in Flutter and Dart and I come across an issue where an event being added to my BLoC. (A stream-based state management solution for the uninitiated)
The state class is made up of a combination of a few different streams. When one releases an event, the state is updated with the latest updated value using a copyWith()
function. This is all going fine and well until I push a null value into one of the streams and the state doesn't change. I know it was pushed successfully, but the old state is still reflected. Hopefully this will help some of you.
If your copyWith functions look like this:
State copyWith({int param1, String param2}){ return State( param1: param1 ?? this.param1, param2: param2 ?? this.param2 );
then passing a null value will cause it to return the existing value even if you intended to set it to null. I doubt this is an issue in languages with an Undefined
type, however, Dart does not have one.
Top comments (0)