簡體   English   中英

在顫振中用於空值錯誤的空檢查運算符

[英]Null check operator used on a null value error in flutter

如何解決?

環境:sdk:">=2.12.0 <3.0.0"

這是一段具有空安全錯誤的代碼,我試圖從我的數據庫中獲取數據以顯示為輪播滑塊

 FutureBuilder(
                  future: getSlider,
                  builder: (BuildContext context,
                      AsyncSnapshot<List<ModelEbook>> snapshot) {
                    if (snapshot.connectionState == ConnectionState.done) {
                      //Create design in here
                      return SizedBox(
                        height: 27.0.h,
                        child: Swiper(
                          autoplay: true,
                          itemCount: snapshot.data!.length,
                          itemBuilder: (BuildContext context, int index) {
                            return GestureDetector(
                              onTap: () {},
                              child: Padding(
                                padding: EdgeInsets.all(10),
                                child: Container(
                                  child: Stack(
                                    children: [
                                      ClipRRect(
                                        child: Image.network(
                                          listSlider[index].photo,
                                          fit: BoxFit.cover,
                                          width: 100.0.w,
                                        ),
                                        borderRadius:
                                            BorderRadius.circular(15),
                                      ),
                                    ],
                                  ),
                                ),
                              ),
                            );
                          },
                        ),
                      );
                    } else {
                      return Container();
                    }
                  },
                ),

下面是調試控制台中加載的錯誤

════════ Exception caught by widgets library ═══════════════════════════════════
The following _CastError was thrown building FutureBuilder<List<ModelEbook>>(dirty, state: _FutureBuilderState<List<ModelEbook>>#8fb37):
Null check operator used on a null value

The relevant error-causing widget was
FutureBuilder<List<ModelEbook>>
When the exception was thrown, this was the stack
#0      _HomeState.build.<anonymous closure>. 
<anonymous closure>

#1      _FutureBuilderState.build
#2      StatefulElement.build
#3      ComponentElement.performRebuild
#4      StatefulElement.performRebuild
#5      Element.rebuild
#6      BuildOwner.buildScope
#7      WidgetsBinding.drawFrame
#8      SchedulerBinding._invokeFrameCallback
#9      SchedulerBinding.handleDrawFrame
(elided 3 frames from dart: async)

================================================= ==============================

在此處輸入圖片說明

您需要檢查snapshot.data 這應該是這樣的:

                if (snapshot.connectionState == ConnectionState.done) {
                      //Create design in here
                     if (snapshot.data == null) {
                        return Text('no data');
                     } else
                      return SizedBox(
                        height: 27.0.h,
                        child: Swiper(
                          autoplay: true,
                          itemCount: snapshot.data!.length,
                          itemBuilder: (BuildContext context, int index) {
                            /// ....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM