采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
如果PreInit要花很长时间,虽然提前了init,set不是还是有可能会为空吗
是的,课程后面会用FutureBuilderl来等HiCache.preInit()初始化完成后在进行下一步操作:
class _BiliAppState extends State<BiliApp> { BiliRouteDelegate _routeDelegate = BiliRouteDelegate(); @override Widget build(BuildContext context) { return FutureBuilder<HiCache>( //进行初始化 future: HiCache.preInit(), builder: (BuildContext context, AsyncSnapshot<HiCache> snapshot) { //定义route var widget = snapshot.connectionState == ConnectionState.done ? Router(routerDelegate: _routeDelegate) : Scaffold( body: Center(child: CircularProgressIndicator()), ); return MaterialApp( home: widget, theme: ThemeData(primarySwatch: white), ); }); } }
非常感谢!
用了FutureBuilder,在builder 里面getInstance().get("xxx").依然报错: The method 'get' was called on null. Receiver: null Tried calling: get("xxxx")
目前用 getInstance().get('xxx').then((value){ setState((){ Xxxx = value }); });
登录后可查看更多问答,登录/注册
一次性掌握Flutter高阶技能+商业级复杂项目架构设计与开发方案
1.5k 2
1.8k 8
1.8k 5
2.1k 5
1.4k 2
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号