flutter的一些坑(1)
过早调用 context 报错
在 initState 里像下面这样使用 context:
1 |
|
可能会导致下面报错:
1 | dependOnInheritedWidgetOfExactType<_LocalizationsScope>() or dependOnInheritedElement() was called before XxxXxx.initState() completed. |
因为 context 在 initState 调用过程中只是创建了,但是属于不可用状态,需要在 initState 执行完成之后才能正常使用,所以需要延后context的使用时间,如果只需要调用一次的话应该使用Future.delayed或者addPostFrameCallback进行调用
1 |
|
onGenerateRoute和routes冲突
如果在MaterialApp
传入routes,那么onGenerateRoute
将不会被调用