Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another exception was thrown: NoSuchMethodError: The getter '_store' was called on null. #30

Closed
rukundo-djamal opened this issue Mar 22, 2018 · 51 comments

Comments

@rukundo-djamal
Copy link

rukundo-djamal commented Mar 22, 2018

flutter_01
i am using the example you provided on your github repo and it throwing this error

@brianegan
Copy link
Owner

brianegan commented Mar 22, 2018

@rukundo-djamal Thanks for the report! Could you please give me a bit more info on your setup?

Which version of Flutter / Dart are you using? Have you tried using Flutter Master branch?

Please see this thread for more debugging info: #28

@rukundo-djamal
Copy link
Author

rukundo-djamal commented Mar 22, 2018

i am using dart 2.0.0 and flutter Flutter 0.1.5 beta version

@brianegan
Copy link
Owner

brianegan commented Mar 22, 2018

@rukundo-djamal Could you please try with Flutter master and see if that solves your problem? Beta has been reported as having errors with some of the new Dart 2 language features this update requires.

Thanks again for the help :)

@arok
Copy link

arok commented Mar 22, 2018

I have the same issue after updating to 0.4.0 and flutter master branch.
Here is my stacktrace

I/flutter (31676): The following NoSuchMethodError was thrown building StoreConnector<dynamic, Store>(dirty):
I/flutter (31676): The getter '_store' was called on null.
I/flutter (31676): Receiver: null
I/flutter (31676): Tried calling: _store
I/flutter (31676): When the exception was thrown, this was the stack:
I/flutter (31676): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
I/flutter (31676): #1      StoreProvider.of (package:flutter_redux/flutter_redux.dart:28:21)
I/flutter (31676): #2      StoreConnector.build (package:flutter_redux/flutter_redux.dart:181:28)
I/flutter (31676): #3      StatelessElement.build (package:flutter/src/widgets/framework.dart:3678:28)
I/flutter (31676): #4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15)
I/flutter (31676): #5      Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #6      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #9      Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #10     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #11     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #12     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #13     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #15     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #17     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #18     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #19     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #20     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #21     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #22     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #23     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #24     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #25     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #26     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #27     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #28     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #29     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #30     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #31     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #32     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #33     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #34     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #36     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #37     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #38     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #40     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11)
I/flutter (31676): #41     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #43     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #45     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #46     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #47     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #48     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #49     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #50     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #51     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #52     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #53     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #54     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #55     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #56     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #57     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #58     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #59     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #60     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #61     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #62     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #63     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #64     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #65     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #66     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #67     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #68     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #69     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #70     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #71     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11)
I/flutter (31676): #72     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #73     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #74     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #75     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #76     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #77     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #78     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11)
I/flutter (31676): #79     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #80     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #81     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #82     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #83     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #84     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #85     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11)
I/flutter (31676): #86     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #87     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #88     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4742:32)
I/flutter (31676): #89     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #90     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #91     _TheatreElement.mount (package:flutter/src/widgets/overlay.dart:493:16)
I/flutter (31676): #92     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #93     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #94     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #95     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #96     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #97     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11)
I/flutter (31676): #98     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #99     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #100    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #101    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #102    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #103    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #104    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #105    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #106    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #107    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #108    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #109    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #110    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #111    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #112    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #113    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11)
I/flutter (31676): #114    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #115    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #116    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #117    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #118    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #119    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #120    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #121    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #122    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #123    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #124    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #125    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #126    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11)
I/flutter (31676): #127    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #128    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #129    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #130    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #131    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #132    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #133    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #134    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #135    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #136    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
I/flutter (31676): #137    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #138    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #139    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #140    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #141    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #142    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #143    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #144    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #145    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #146    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #147    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #148    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #149    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #150    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #151    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #152    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #153    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #154    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #155    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #156    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #157    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #158    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #159    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #160    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #161    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #162    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #163    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #164    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #165    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter (31676): #166    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
I/flutter (31676): #167    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
I/flutter (31676): #168    Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
I/flutter (31676): #169    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
I/flutter (31676): #170    Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter (31676): #171    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2225:33)
I/flutter (31676): #172    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:621:20)
I/flutter (31676): #173    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter (31676): #174    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (31676): #175    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (31676): #176    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
I/flutter (31676): #178    _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
I/flutter (31676): #179    _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
I/flutter (31676): #180    _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
I/flutter (31676): (elided one frame from package dart:async)
I/flutter (31676): ════════════════════════════════════════════════════════════════════════════════════════════════════```

@envious
Copy link

envious commented Mar 22, 2018

I was facing the same issues until I properly set types using the diamond operators as demonstrated in the flutter_redux readme:

Change new StoreProvider(...) to new StoreProvider<StateClass>(...) in your Widget tree.
Change new StoreProvider.of(context).store to StoreProvider.of<StateClass>(context) if you're directly fetching the Store<AppState> yourself from the StoreProvider<AppState>. No need to access the store field directly any more since Dart 2 can now infer the proper type with a static function :)

@tabula-rasa
Copy link

Same issue, after updating flutter to current master it was resolved.

@brianegan
Copy link
Owner

@arok Could you please try fully typing your Store, StoreProviders, and StoreConnectors + Using Flutter Master branch and let me know if that works?

The SDK that ships with Beta does not seem to be fully working with some of the new Dart 2 features.

@tensor-programming
Copy link

I am seeing this issue on all of my redux examples with the current master and dev branches of flutter.

@dimoreira
Copy link

@tensor-programming Same here!

@ooasis
Copy link

ooasis commented Mar 24, 2018

Same here! I am using Flutter/master and flutter_redux: 0.4.0.

It worked just a few days ago. Compared to the example, I am having Store on the top of the tree instead of MaterialApp. Not sure if that matters.

Same after switched to beta:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.1.5, on Mac OS X 10.13.3 17D102, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.2)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
[✓] Android Studio (version 3.0)
[✓] IntelliJ IDEA Ultimate Edition (version 2017.3.2)
[✓] VS Code (version 1.21.1)
[✓] Connected devices (1 available)

@dimoreira
Copy link

@envious I just set all the types too but when I remove all the code related to the StoreConnector at my second component the app just builds and works. But as soon as I add the StoreConnector to bring the state in I receive the red screen and the debugging trace below:

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following NoSuchMethodError was thrown building StoreConnector<dynamic, Null>(dirty):
The getter 'store' was called on null.
Receiver: null
Tried calling: store
When the exception was thrown, this was the stack:
#0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
#1      StoreConnector.build (package:flutter_redux/flutter_redux.dart:73:44)
#2      StatelessElement.build (package:flutter/src/widgets/framework.dart:3678:28)
#3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15)
#4      Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#5      StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#6      Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#7      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#9      StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#10     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#11     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#12     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#13     ProxyElement.update (package:flutter/src/widgets/framework.dart:3892:5)
#14     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#15     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#16     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#17     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#19     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#20     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#21     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#22     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#23     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4362:32)
#24     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4752:17)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#27     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#28     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#29     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#30     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#31     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#32     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#33     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#34     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#35     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#36     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#37     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#38     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#39     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#40     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#41     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#42     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#43     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#45     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#46     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#47     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#48     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#49     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#50     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#51     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#52     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#53     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#54     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#55     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#56     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#57     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#58     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#59     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#60     ProxyElement.update (package:flutter/src/widgets/framework.dart:3892:5)
#61     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#62     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#63     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#64     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#65     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#66     StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5)
#67     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#68     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#69     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#70     StatelessElement.update (package:flutter/src/widgets/framework.dart:3685:5)
#71     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#72     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14)
#73     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#74     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#75     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#76     ProxyElement.update (package:flutter/src/widgets/framework.dart:3892:5)
#77     Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15)
#78     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
#79     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
#80     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2225:33)
#81     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:621:20)
#82     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
#83     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
#84     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
#85     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
#87     _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
#88     _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
#89     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
(elided one frame from package dart:async)

@brianegan
Copy link
Owner

brianegan commented Mar 24, 2018

Thanks for the reports everyone. So sorry about these problems...

Could some of you provide a bit more code? The stack traces all look the same and indicate the same point of failure, but I'm struggling to figure out which cases lead to this failure since all the tests pass, and the example "works on my machine." Perhaps I'm missing a test case or two, but I haven't seen which ones ;( ;( ;(

  1. Are you providing full type information to the Store<State>, StoreProvider<State>, and StoreConnector<State, ViewModel>? If not, please add full typing to these classes.
  2. Are you able to run the example in the example folder?
  3. If you are providing full type info and it isn't working, could you please try the generics-methods-check branch to see if it works? This reverts some of the changes made in 0.4.0 to remove any reliance on new Dart 2 features, which have been problematic for me thus far.
  flutter_redux:
    git:
      url: git://github.com/brianegan/flutter_redux.git
      ref: generics-methods-check

Thanks!

@ooasis
Copy link

ooasis commented Mar 24, 2018

Confirmed the fix. The magic of:

class _OfType {
Type get type => T;
}

@brianegan
Copy link
Owner

brianegan commented Mar 24, 2018

@hsun-cnnxty Thanks! If this fixes the problem for others, I'm going to go ahead and release a new version of the library that reverts back to the old way of getting the store using new StoreProvider.of(context).store. This will allow us to avoid any generic functions (which seem to be buggy in Dart 2) for now.

I'd like to come back to the new API eventually, but not worth the pain in the meantime :)

@veresvit
Copy link

Hi, if its any value - with version 0.4.0 and dev channel of Flutter I managed to run the example by adding the flag in Android Studio:
"Run applications with --preview-dart-2"

Without it it I got the same errors as @rukundo-djamal

https://github.com/flutter/flutter/wiki/Trying-the-preview-of-Dart-2-in-Flutter

@brianegan
Copy link
Owner

brianegan commented Mar 24, 2018

Hey @veresvit, yep, 0.4.0 is meant for Dart 2, 0.3.x is meant for Dart 1!

Are any others using Dart 1 by chance?

@StephaneBischoff
Copy link

Still seeing the same issue.

  • Using Run application with --preview-dart-2
  • Upgraded to flutter_redux 0.4.0.
  • Switched to Flutter master channel
flutter --version
Flutter 0.2.5-pre.38 • channel master • https://github.com/flutter/flutter.git
Framework • revision af74a7253b (14 hours ago) • 2018-03-23 19:18:39 -0700
Engine • revision 6280adbfb1
Tools • Dart 2.0.0-dev.39.0.flutter-06949dc985
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter ( 3953): The following NoSuchMethodError was thrown building StoreConnector<ApplicationState,
I/flutter ( 3953): Store<ApplicationState>>(dirty):
I/flutter ( 3953): The getter 'store' was called on null.
I/flutter ( 3953): Receiver: null
I/flutter ( 3953): Tried calling: store
I/flutter ( 3953): When the exception was thrown, this was the stack:
I/flutter ( 3953): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
I/flutter ( 3953): #1      StoreConnector.build (package:flutter_redux/flutter_redux.dart:175:44)
I/flutter ( 3953): #2      StatelessElement.build (package:flutter/src/widgets/framework.dart:3678:28)
I/flutter ( 3953): #3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15)
I/flutter ( 3953): #4      Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter ( 3953): #5      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter ( 3953): #6      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)

@brianegan
Copy link
Owner

@StephaneBischoff Does the generics-methods-check branch work for ya?

  flutter_redux:
    git:
      url: git://github.com/brianegan/flutter_redux.git
      ref: generics-methods-check

@StephaneBischoff
Copy link

@brianegan Still got the error. Am I doing it right? Here is my pubspec.yaml.

dependencies:
  flutter:
    sdk: flutter
  google_sign_in: "^2.1.0"
  firebase_auth: "^0.4.5"
  firebase_database: any
  flutter_redux:
     git:
       url: git://github.com/brianegan/flutter_redux.git
       ref: generics-methods-check
I/flutter ( 7069): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter ( 7069): The following NoSuchMethodError was thrown building StoreConnector<ApplicationState,
I/flutter ( 7069): Store<ApplicationState>>(dirty):
I/flutter ( 7069): The getter 'store' was called on null.
I/flutter ( 7069): Receiver: null
I/flutter ( 7069): Tried calling: store
I/flutter ( 7069): When the exception was thrown, this was the stack:
I/flutter ( 7069): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
I/flutter ( 7069): #1      StoreConnector.build (package:flutter_redux/flutter_redux.dart:175:44)
I/flutter ( 7069): #2      StatelessElement.build (package:flutter/src/widgets/framework.dart:3678:28)
I/flutter ( 7069): #3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15)
I/flutter ( 7069): #4      Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
I/flutter ( 7069): #5      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
I/flutter ( 7069): #6      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)

@brianegan
Copy link
Owner

@StephaneBischoff Dang... have you provided full typing to your Store<State>, StoreProvider<State> and StoreConnector<State, ViewModel>?

@StephaneBischoff
Copy link

StephaneBischoff commented Mar 24, 2018

@brianegan Yes. Here's my main.dart. I am using the new full typings...

void main() => runApp(new MainApp());

class MainApp extends StatefulWidget {

  @override
  State<StatefulWidget> createState() => new _MainAppState();
}

// Main Application
class _MainAppState extends State<MainApp> {

  final appName = "Test";

  final store = new Store<ApplicationState>(
    applicationStateReducer,
    initialState: new ApplicationState(),
    middleware: [
      UserLoginMiddleware.create(),
      UserDataMiddleware.create()
    ],
  );

  @override
  Widget build(BuildContext context) {
    return new StoreProvider<ApplicationState>( <== Breakpoint hits here last then fails
        store: store,
        child: new MaterialApp(
          title: appName,
          theme: new ThemeData.light(),
          home: new StoreBuilder<ApplicationState>(  <== Breakpoint hits here 
            onInit: (store) => store.dispatch(new UserInitiateLoginSilentAction()), <== Breakpoint never hits here
            builder: (context, store) {
              var session = store.state.userSession; <== Breakpoint never hits here
              if (session.inProgress) {
                return new Scaffold(body: new ProgressWidget());
              } else if (session.user != null) {
                return new MainPage(title: appName);
              } else {
                return new LoginPage(title: appName);
              }
            },
          ),
        )
    );
  }
}

@brianegan
Copy link
Owner

brianegan commented Mar 24, 2018

@StephaneBischoff Hrm, thanks so much for the help! One last thing: Would you mind cloning this repo and seeing if you can run the example app found in the example folder?

It runs on my machine with the flutter beta branch and --preview-dart-2, but I'd be interested if it fails on your machine.

Overall, I think it's best to stick with the Dart 1 version for now: 0.3.6 if you just need to get stuff done. I'm running into a lot of problems with Dart 2 :(

@StephaneBischoff
Copy link

StephaneBischoff commented Mar 24, 2018

Ok, so the example works. :) ... wondering why my project is failing... :(
Yeah, thats what I thought. Will go back to 0.3.6.

@brianegan
Copy link
Owner

brianegan commented Mar 25, 2018

Hah, dang... Thanks again for taking the time to help me debug this!

I definitely must not be covering some case in my tests / example that's causing failure for Dart 2, or we're running into a legit Dart 2 bug (I've run into a few upgrading thus far). I've got a couple of issues filed on the Flutter / Dart SDK repos and hopefully they'll provide a bit more info as to what's happening!

@tabula-rasa
Copy link

I'm still having success with 0.4.0 version and master branch on my demo project. Just noticed, have to remove build directory after switching versions.

@tabula-rasa
Copy link

Continuing the development, I encountered this error again. Debugging helped me to find out that the exception was thrown during navigation, when a new widget tree was created, without a StoreProvider wrapper. After fixing this, the error disappeared.
By setting a breakpoint on return provider._store in flutter_redux.dart: class StoreProvider<S> (28-th line for 0.4.0), one can easily see if context tree has an ancestor with the widget type StoreProvider or no. Maybe someone has a similar situation and this will help somehow.

@thibaudpeltier
Copy link

thibaudpeltier commented Mar 26, 2018

I don't know if this is any help but for me the example works, however changing the state from int to a simple AppState class causes the exception.

This is with redux: ^2.1.1 flutter_redux: ^0.4.0
with flutter beta branch and --preview-dart-2

This is the main.dart after making that simple change:

@immutable
class AppState {
  final int counter;

  AppState(this.counter);
}

enum Actions { Increment }

AppState counterReducer(AppState prev, dynamic action) {
  if (action == Actions.Increment) {
    return  AppState(prev.counter + 1);
  }

  return prev;
}

void main() {
  final store = new Store<AppState>(counterReducer, initialState: AppState(0));

  runApp(new FlutterReduxApp(
    title: 'Flutter Redux Demo',
    store: store,
  ));
}

class FlutterReduxApp extends StatelessWidget {
  final Store<AppState> store;
  final String title;

  FlutterReduxApp({Key key, this.store, this.title}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      theme: new ThemeData.dark(),
      title: title,
      home: new StoreProvider<AppState>(
        store: store,
        child: new Scaffold(
          appBar: new AppBar(
            title: new Text(title),
          ),
          body: new Center(
            child: new Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                new Text(
                  'You have pushed the button this many times:',
                ),
                new StoreConnector<int, String>(
                  converter: (store) => store.state.toString(),
                  builder: (context, count) {
                    return new Text(
                      count,
                      style: Theme.of(context).textTheme.display1,
                    );
                  },
                )
              ],
            ),
          ),
          floatingActionButton: new StoreConnector<int, VoidCallback>(
            converter: (store) {
              return () => store.dispatch(Actions.Increment);
            },
            builder: (context, callback) {
              return new FloatingActionButton(
                onPressed: callback,
                tooltip: 'Increment',
                child: new Icon(Icons.add),
              );
            },
          ),
        ),
      ),
    );
  }
}

I'm very, very new to both Flutter and Redux so I might be doing something wrong haha, just thought it might be helpful to point to a step that takes it from working to breaking. Thanks!

@tabula-rasa
Copy link

tabula-rasa commented Mar 26, 2018

@thibaudpeltier , I'm new too, but changing this new StoreConnector<int, String> to new StoreConnector<AppState, String> might help, as well as converter: (store) => store.state.toString(), to converter: (store) => store.state.counter.toString(),.

@thibaudpeltier
Copy link

thibaudpeltier commented Mar 26, 2018

Ha, yup... that's embarrassing. I was starting from scratch wanting to repro the issue as I saw it yesterday and went way too fast... It was clearly on me this time 😬 All right so I didn't help anything, but you helped me! Thanks @tabula-rasa

@chrisabird
Copy link

I hit this problem this morning and it had me scratching my head. I think a lot of this has already been said but after experimenting this is what i found to work...

  1. You do not need to be on flutter master, this should work fine on latest beta
  2. If you are using navigation make sure the StoreProvider is wrapping the MateriaApp otherwise a navigation transition will remove the StoreProvider from the tree. The example currently has this the other way around, I believe a update will happen soon to the example.
  3. You must be running Dart2 with --preview-dart-2 this ensure the generic typing works as expected.

@brianegan
Copy link
Owner

brianegan commented Mar 27, 2018

Hey all! Thanks again for all the feedback and reports. I think this issue is a mix of problems:

  1. The examples did not demonstrate it's best practice to wrap the whole MaterialApp with a StoreProvider. You must wrap the MaterialApp with a StoreProvider to use the StoreConnector on different Routes.
  2. Dart 2 not being used / Dart 2 having legit errors (it's still in development, we should expect this)
  3. Not using proper / complete typing.

I've fixed the example, and added a new error message to the library when folks encounter this problem so it's hopefully more helpful than a crazy NullPointerException :P

This is now released as flutter_redux: 0.4.1. If you've tried all of these solutions and still encounter errors, please ping me on this thread!

Error: No StoreProvider<int> found. To fix, please try:
          
  * Using Dart 2 (required) by using the --preview-dart-2 flag
  * Wrapping your MaterialApp with the StoreProvider<State>, rather than an individual Route
  * Providing full type information to your Store<State>, StoreProvider<State> and
    StoreConnector<State, ViewModel>
  
If none of these solutions work, please file a bug at:
https://github.com/brianegan/flutter_redux/issues/new

@kentcb
Copy link

kentcb commented Mar 28, 2018

After updating flutter, I hit the above and updated my types etc. This got me past all the problems listed here, but I hit another. To be honest, I'm not sure if this deserves a separate issue (please let me know if it does). I'm getting this:

I/flutter (20145): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (20145): The following assertion was thrown building StreamBuilder<TimesheetViewModel>(dirty, state:
I/flutter (20145): _StreamBuilderBaseState<TimesheetViewModel, AsyncSnapshot<TimesheetViewModel>>#752b2):
I/flutter (20145): type '(Store<AppState>, Initialize, (dynamic) => void) => void' is not a subtype of type
I/flutter (20145): '(Store<AppState>, dynamic, (dynamic) => void) => void'
I/flutter (20145): 
I/flutter (20145): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (20145): more information in this error message to help you determine and fix the underlying cause.
I/flutter (20145): In either case, please report this assertion by filing a bug on GitHub:
I/flutter (20145):   https://github.com/flutter/flutter/issues/new
I/flutter (20145): 
I/flutter (20145): When the exception was thrown, this was the stack:
I/flutter (20145): #0      combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart)
I/flutter (20145): #1      Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #2      combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #3      Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #4      combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #5      Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #6      combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #7      Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #8      combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #9      Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #10     combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #11     Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #12     combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #13     Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #14     combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #15     Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #16     combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #17     Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #18     combineTypedMiddleware.<anonymous closure>.<anonymous closure> (package:redux/src/utils.dart:243:19)
I/flutter (20145): #19     Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
I/flutter (20145): #20     Store.dispatch (package:redux/src/store.dart:250:20)
I/flutter (20145): #21     _TimesheetPageState._buildPage (package:<<redacted>>/features/timesheet/ui.dart:635:11)
<snip>

It seems to have a problem with this code, though I don't quite understand why:

  BuiltList<MiddlewareBinding<AppState, dynamic>> getMiddlewareBindings() => new BuiltList<MiddlewareBinding<AppState, dynamic>>([
        new MiddlewareBinding<AppState, Initialize>(_handleInitialize),
      ]);

  void _handleInitialize(Store<AppState> store, Initialize action, NextDispatcher next) {
    // elided
  }

Any ideas what I'm doing wrong here?

@brianegan
Copy link
Owner

brianegan commented Mar 28, 2018

@kentcb All right! You've made it past the first challenge in the Dart 2 Labyrinth 😄

Now you're facing the second challenge! I'm not quite sure if we need to slightly adjust the typing in Redux for Dart 2 or if Flutter is running into an odd bug. Essentially, all Redux.dart tests pass using the pure Dart 2 SDK, but fail in the Flutter environment.

Thanks for giving Dart 2 + Redux a shot! Hopefully these type issues will be ironed out with Dart 2 soon (I've run into several legit bugs in the Dart 2 implementation and generally gotten good support from the Dart team in fixing them, so good progress is being made).

If you just need to get stuff done, I'd recommend sticking with Dart 1 at the moment.

@kentcb
Copy link

kentcb commented Mar 28, 2018

Thanks @brianegan.

If you just need to get stuff done, I'd recommend sticking with Dart 1 at the moment

Well, it's nearly Easter so I'm inclined to do very little, but I guess I really should maintain my productivity 😃

Dumb noob question, though: how do I do that? I'm really unclear on how to know what versions of tools/language is in use. All I did was flutter upgrade and flutter channel master, thinking that would be kinda "stable". I guess not? I'm also not running with the preview v2 switch and never have, which is another semi-mystery to me.

Do I need to roll back to a specific flutter commit? If so, in the interests of teaching a man to fish, how would I go about figuring out which commit would be the right one to use? Is there some magical place I can go read about Dart 2 roadmap and how it all hangs together, especially as relates to flutter?

Thanks again for all the help.

@brianegan
Copy link
Owner

brianegan commented Mar 28, 2018

@kentcb Haha, easter time!!! Dive in and just have fun 🐰 🐇

It was easy to miss, but they announced a couple weeks back that Master will now have --preview-dart-2 enabled by default: https://groups.google.com/forum/#!msg/flutter-dev/H8dDhWg_c8I/_Ql78q_6AgAJ

Therefore, if you want to keep using Dart 1:

  • Use the new IntelliJ plugin and explicitly disable Dart 2 in the Flutter settings (the same might exist for VSCode, but I'm not as familiar with it)
  • Use the beta branch which allows you to opt-in to Dart 2, but does not enable it by default

Unfortunately, going back to the beta branch / 0.3.6 means you'll need to remove the generic typing from your StoreProvider, but that should be a quick change.

@kentcb
Copy link

kentcb commented Mar 28, 2018

Wow, weird things are happening. So I undid my changes, switched to the beta channel, and cleaned my project. Now when I try to build it fails to resolve build_runner v0.8.0. Here's a flutter packages get run:

flutter packages get
Running "flutter packages get" in Src...
Package build_runner has no versions that match >=0.8.0 <0.9.0 derived from:
- <<redacted>> depends on version ^0.8.0
---- Log transcript ----
FINE: Pub 1.25.0-dev.11.0
IO  : Spawning "cmd /c ver" in C:\Users\kent\Repository\<<redacted>>\Src\.
IO  : Finished ver. Exit code 0.
    | stdout:
    | |
    | | Microsoft Windows [Version 10.0.16299.309]
    | Nothing output on stderr.
MSG : Resolving dependencies...
SLVR: Solving dependencies:
    | - built_collection ^3.0.5 from hosted (built_collection) (locked to 3.0.5)
    | - quiver ^0.28.0 from hosted (quiver) (locked to 0.28.0)
    | - intl ^0.15.2 from hosted (intl) (locked to 0.15.2)
    | - flutter_redux ^0.3.5 from hosted (flutter_redux) (locked to 0.4.1)
    | - flutter any from sdk (flutter) (locked to 0.0.0)
    | - built_value ^5.2.1 from hosted (built_value) (locked to 5.2.1)
    | - cupertino_icons ^0.1.0 from hosted (cupertino_icons) (locked to 0.1.1)
SLVR: * start at root
SLVR: | build_runner 0.8.0 from hosted is locked
IO  : Get versions from https://pub.dartlang.org/api/packages/build_runner.
IO  : HTTP GET https://pub.dartlang.org/api/packages/build_runner
    | Accept: application/vnd.pub.v2+json
    | X-Pub-OS: windows
    | X-Pub-Command: get
    | X-Pub-Session-ID: 1575DFAC-CD2C-4113-A98A-F38F58C1A70A
    | X-Pub-Environment: flutter_cli:get
    | X-Pub-Reason: dev
    | user-agent: Dart pub 1.25.0-dev.11.0
IO  : HTTP response 200 OK for GET https://pub.dartlang.org/api/packages/build_runner
    | took 0:00:01.232553
    | transfer-encoding: chunked
    | date: Wed, 28 Mar 2018 23:23:16 GMT
    | content-encoding: gzip
    | vary: Accept-Encoding
    | via: 1.1 google
    | content-type: application/json
    | x-frame-options: SAMEORIGIN
    | x-xss-protection: 1; mode=block
    | x-content-type-options: nosniff
    | server: dart:io with Shelf
SLVR: | version 0.7.13+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.13 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.12 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.11+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.11 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.10+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.10 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.9+2 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.9+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.9 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.8 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.7+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.7 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.6 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.5+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.5 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.4 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.3 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.2 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.1+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.7.0 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.6.1+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.6.1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.6.0+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.6.0 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.5.0 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.4.0+3 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.4.0+2 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.4.0+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.4.0 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.3.4+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.3.4 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.3.2 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.3.1+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.3.1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.3.0+1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.3.0 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.2.0 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.1.1 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: | version 0.1.0 of build_runner doesn't match >=0.8.0 <0.9.0:
    | |   <<redacted>> 0.0.0 (root) -> build_runner ^0.8.0 from hosted (build_runner)
SLVR: BacktrackingSolver took 0:00:01.401783 seconds.
    | - Tried 1 solutions
    | - Requested 1 version lists
    | - Looked up 0 cached version lists
    |
FINE: Resolving dependencies finished (1.4s).
ERR : Package build_runner has no versions that match >=0.8.0 <0.9.0 derived from:
    | - <<redacted>> depends on version ^0.8.0
FINE: Exception type: NoVersionException
FINE: package:pub/src/entrypoint.dart 195                                                 Entrypoint.acquireDependencies
    | package:pub/src/command/get.dart 38                                                 GetCommand.run
    | package:args/command_runner.dart 194                                                CommandRunner.runCommand
    | package:pub/src/command_runner.dart 168                                             PubCommandRunner.runCommand.<fn>
    | dart:async                                                                          new Future.sync
    | package:pub/src/utils.dart 102                                                      captureErrors.<fn>
    | package:stack_trace                                                                 Chain.capture
    | package:pub/src/utils.dart 117                                                      captureErrors
    | package:pub/src/command_runner.dart 168                                             PubCommandRunner.runCommand
    | package:pub/src/command_runner.dart 117                                             PubCommandRunner.run
    | E:\b\build\slave\dart-sdk-windows-dev\build\sdk\third_party\pkg\pub\bin\pub.dart 8  main
    | ===== asynchronous gap ===========================
    | dart:async                                                                          _Completer.completeError
    | package:pub/src/entrypoint.dart 243                                                 Entrypoint.acquireDependencies
    | ===== asynchronous gap ===========================
    | dart:async                                                                          _asyncThenWrapperHelper
    | package:pub/src/entrypoint.dart 192                                                 Entrypoint.acquireDependencies
    | package:pub/src/command/get.dart 38                                                 GetCommand.run
    | package:args/command_runner.dart 194                                                CommandRunner.runCommand
    | ===== asynchronous gap ===========================
    | dart:async                                                                          new Future.microtask
    | package:args/command_runner.dart 142                                                CommandRunner.runCommand
    | package:pub/src/command_runner.dart 168                                             PubCommandRunner.runCommand.<fn>
    | dart:async                                                                          new Future.sync
    | package:pub/src/utils.dart 102                                                      captureErrors.<fn>
    | package:stack_trace                                                                 Chain.capture
    | package:pub/src/utils.dart 117                                                      captureErrors
    | package:pub/src/command_runner.dart 168                                             PubCommandRunner.runCommand
---- End log transcript ----
pub get failed (1)

But when I view the HTTP feed it's saying is 200, I see 0.8.0:

image

😕

Any ideas @brianegan? I suspect this isn't even a redux thing anymore, but rather a general Dart ecosystem breakage.

@ooasis
Copy link

ooasis commented Mar 28, 2018

@kentcb unfortunately the error message could be misleading. I had the similar situation where the actual conflict was caused by a different package. If you have recently added some new packages, try to remove them and see if the issue goes away. Then you can add one at a time to see which one actually causes the issue.

@ooasis
Copy link

ooasis commented Mar 29, 2018

Since updated to latest "beta", I got error from combineTypedReducers. Believe it is caused by the same bug reported by you: flutter/flutter#15900

I/flutter ( 8303): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═════════════════════════════════════════
I/flutter ( 8303): The following assertion was thrown while handling a gesture:
I/flutter ( 8303): type '(GlobalState, UpdateTabAction) => GlobalState' is not a subtype of type '(GlobalState,
I/flutter ( 8303): dynamic) => GlobalState'
I/flutter ( 8303): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter ( 8303): more information in this error message to help you determine and fix the underlying cause.
I/flutter ( 8303): In either case, please report this assertion by filing a bug on GitHub:
I/flutter ( 8303): https://github.com/flutter/flutter/issues/new
I/flutter ( 8303): When the exception was thrown, this was the stack:
I/flutter ( 8303): #0 combineTypedReducers.. (package:redux/src/utils.dart)

@brianegan
Copy link
Owner

@hsun-cnnxty Thanks for the report! Indeed, it's the problem you mention. I've added another comment on that issue, so hopefully someone will pick it up soon :)

@brianegan
Copy link
Owner

@kentcb Hrm, it looks like you're using built_value, which requires build_runner, and there must be some conflict going on there. I'd dig more into those dependencies to see if you find the conflict!

@kentcb
Copy link

kentcb commented Mar 29, 2018

@brianegan I ended up throwing my hands in the air and re-installing flutter because I literally couldn't switch channels anymore without it balking. Once I'd done that, I was back to a working build (using the beta channel, Dart 1.0 syntax). Have to say I'm worried that the Dart team might progress Dart 2.0 to beta before these issues are ironed out. Then I'll really be in a tight spot. Presumably I'd have to use a specific commit of flutter rather than a channel...

@brianegan
Copy link
Owner

brianegan commented Mar 29, 2018

@kentcb I agree... I've actually run into a lot of bugs with Dart 2 thus far. It's good to get real feedback from real projects, but it feels like they might have been a bit aggressive with the push.

Luckily, the latest beta roll from a couple of days ago did not turn on Dart 2 by default, and unless these type issues are worked out and basic language features are working (like the type issues or reified generics in functions that causes the bugs in this thread), I hope they hold off on promoting it to beta.

@brianegan
Copy link
Owner

brianegan commented Mar 30, 2018

Hey all -- I've published a new version: 0.5.0. It now works with Redux 3.0.0, which fixes the issues with Dart 2 + combining Reducers. Please see the migration guide for Redux to update your projects.

Unfortunately for some, the "No Store" problem might exist until Dart 2 is fully stable with reified generic types, which this library depends on. While beta channel works fine for me, it seems to be broken for others. Using the master channel may solve the problem.

@StephaneBischoff
Copy link

Its fixed for me !
Updated Flutter to latest and also specified redux 3.0.0 in my pubspec.yaml.

dependencies:
  flutter:
    sdk: flutter
  ...
  redux: "^3.0.0"
  flutter_redux: "0.5.0"
...

Flutter --version

Flutter 0.2.6 • channel master • https://github.com/flutter/flutter.git
Framework • revision 1d067220da (10 hours ago) • 2018-03-29 22:14:04 -0700
Engine • revision 9af82c5a1a
Tools • Dart 2.0.0-dev.43.0.flutter-e305117519

@brianegan
Copy link
Owner

Hey all, I'm gonna go ahead and close this issue for now. The 0.5.0 version seems to be working for most folks on the beta or Master branches. Thanks for all the reports, and please let me know if you run into this any further!

@sckoh
Copy link

sckoh commented Apr 23, 2018

I have the same error as title on

Flutter 0.2.8 • channel beta • https://github.com/flutter/flutter.git
Framework • revision b397406561 (3 weeks ago) • 2018-04-02 13:53:20 -0700
Engine • revision c903c217a1
Tools • Dart 2.0.0-dev.43.0.flutter-52afcba357

@brianegan
Copy link
Owner

Hey @sckoh, sorry to hear that! Could you please provide a bit more code / details? Which version of Redux / Flutter Redux are you using? Best would be to provide a repo or some sample code to help debug!

Thanks :)

@sckoh
Copy link

sckoh commented Apr 28, 2018

@brianegan this is the repo which produce the error
https://github.com/sckoh/flutter_counter_redux

here are my flutter version:
Flutter 0.2.8 • channel beta • https://github.com/flutter/flutter.git
Framework • revision b397406561 (4 weeks ago) • 2018-04-02 13:53:20 -0700
Engine • revision c903c217a1
Tools • Dart 2.0.0-dev.43.0.flutter-52afcba357

Update 1:
however, i have tried https://github.com/brianegan/flutter_redux/tree/master/example
and your example is working

Update 2:
I even tried to copy the whole content in your example main.dart into my repo, my repo would still produce the error

Update 3:
I re-cloned my project from github and it is working now.
so I'm not sure what's the problem of my previous project. both project is using the same code

Update 4:
I have finally able to fix the error in my original project.
I run "flutter clean" on my project with error and rerun the project and the error is gone 😆

@dnetshik
Copy link

dnetshik commented Jan 3, 2019

Am aslo having the same problem.
The error am getting is:

====== EXCEPTION CAUGHT BY WIDGETS LIBRARY=============
The following NoSuchMethodError was thrown building ProjectDetailsPage(dirty, state:_ProjectDetailsPageState#563c6):
The getter 'documents' was called on null.
Receiver: null
Tried calling: documents

CAN YOU PLEASE HELP!!!!!

class ProjectDetailsPage extends StatefulWidget {
@OverRide
_ProjectDetailsPageState createState() => _ProjectDetailsPageState();
}

class _ProjectDetailsPageState extends State {
// final ProjectD proj;

QuerySnapshot Projects;

ProjectMedthods ProjectObj = new ProjectMedthods();
// ProjectDetails(this.proj);

@OverRide
void initState() {
ProjectObj.getSpecificProjData().then((results) {
setState(() {
Projects = results;
});
});
super.initState();
}
@OverRide
Widget build(BuildContext context) {

var getprojname =  Projects.documents[0].data['projectname'];

var getprojdesc =  Projects.documents[0].data['projectdesc'];

var numberofempperproj =  Projects.documents[0].data['numberofempPerproj'].toString();

var projectmanger =  Projects.documents[0].data['projectmanager'];

var projectbudget = Projects.documents[0].data['projectbudget'].toString();

@RIPYTT
Copy link

RIPYTT commented Sep 24, 2019

I/flutter (12940): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (12940): The following assertion was thrown during performResize():
I/flutter (12940): Vertical viewport was given unbounded height.
I/flutter (12940): Viewports expand in the scrolling direction to fill their container. In this case, a vertical
I/flutter (12940): viewport was given an unlimited amount of vertical space in which to expand. This situation
I/flutter (12940): typically happens when a scrollable widget is nested inside another scrollable widget.
I/flutter (12940): If this widget is always nested in a scrollable widget there is no need to use a viewport because
I/flutter (12940): there will always be enough vertical space for the children. In this case, consider using a Column
I/flutter (12940): instead. Otherwise, consider using the "shrinkWrap" property (or a ShrinkWrappingViewport) to size
I/flutter (12940): the height of the viewport to the sum of the heights of its children.
I/flutter (12940):
I/flutter (12940): User-created ancestor of the error-causing widget was:
I/flutter (12940): GridView
lib\components\products.dart:25
I/flutter (12940):
I/flutter (12940): When the exception was thrown, this was the stack:
I/flutter (12940): #0 RenderViewport.performResize.
I/flutter (12940): #0 RenderViewport.performResize.
package:flutter/…/rendering/viewport.dart:1168
I/flutter (12940): #1 RenderViewport.performResize
package:flutter/…/rendering/viewport.dart:1221
I/flutter (12940): #2 RenderObject.layout
package:flutter/…/rendering/object.dart:1686
I/flutter (12940): #3 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #4 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #5 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #6 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #7 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #8 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #9 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #10 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #11 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #12 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #13 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #14 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #15 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #19 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #20 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #21 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #22 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #23 RenderProxyBoxMixin.performLayout
package:flutter/…/rendering/proxy_box.dart:105
I/flutter (12940): #24 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #25 RenderSliverMultiBoxAdaptor.insertAndLayoutChild
package:flutter/…/rendering/sliver_multi_box_adaptor.dart:492
I/flutter (12940): #26 RenderSliverList.performLayout.advance
package:flutter/…/rendering/sliver_list.dart:195
I/flutter (12940): #27 RenderSliverList.performLayout
package:flutter/…/rendering/sliver_list.dart:238
I/flutter (12940): #28 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #29 RenderSliverPadding.performLayout
package:flutter/…/rendering/sliver_padding.dart:181
I/flutter (12940): #30 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #31 RenderViewportBase.layoutChildSequence
package:flutter/…/rendering/viewport.dart:406
I/flutter (12940): #32 RenderViewport._attemptLayout
package:flutter/…/rendering/viewport.dart:1355
I/flutter (12940): #33 RenderViewport.performLayout
package:flutter/…/rendering/viewport.dart:1273
I/flutter (12940): #34 RenderObject.layout
package:flutter/…/rendering/object.dart:1701
I/flutter (12940): #35 RenderProxyBoxMixin.performLayout

@RIPYTT
Copy link

RIPYTT commented Sep 24, 2019

its super long cant paste all of the error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests