ฟังก์ชัน Flutter build จะคืนค่า null

Sep 25 2020

ฉันพยายามไปที่โฮมเพจหรือหน้าล็อกอินโดยใช้ authStatus ในขณะที่ใช้ Navigator.of (บริบท) ... จะส่งคืนค่า null ในวิธีการสร้างเป็นเวลาหนึ่งวินาทีจากนั้นรีเฟรชหน้าจอและไปที่เพจที่กำหนดสำเร็จ ฉันค่อนข้างใหม่สำหรับการพัฒนาอุปกรณ์เคลื่อนที่และการกระพือปีก โอกาสในการขายจะช่วยได้! ขอบคุณ.

นี่คือรหัส:

  @override
  Widget build(BuildContext context) {
    switch (authStatus) {
      case AuthStatus.NOT_LOGGED_IN:
        WidgetsBinding.instance.addPostFrameCallback((_) {
          {
            Navigator.push(
              context,
              MaterialPageRoute(
                  builder: (context) => LoginSignUpPage(
                        auth: widget.auth,
                        onSignedIn: _onLoggedIn,
                        params: widget.params,
                      )),
            );
          }
        });

        break;
      case AuthStatus.LOGGED_IN:
        if (_userId.length > 0 && _userId != null) {
          WidgetsBinding.instance.addPostFrameCallback((_) {
            Navigator.push(
              context,
              MaterialPageRoute(
                  builder: (context) => HomePage(
                        userId: _userId,
                        auth: widget.auth,
                        onSignedOut: _onSignedOut,
                        params: widget.params,
                      )),
            );
          });
        } else
          return widget.waitingScreen;
        break;
      default:
        return widget.waitingScreen;
    }

นี่คือข้อผิดพลาด:

ฟังก์ชันการสร้างส่งคืนค่าว่าง วิดเจ็ตที่ละเมิดคือ: ฟังก์ชัน RootPage Build ต้องไม่คืนค่าว่าง หากต้องการคืนพื้นที่ว่างที่ทำให้วิดเจ็ตสิ่งปลูกสร้างเติมเต็มห้องที่ว่างให้ส่งคืน "คอนเทนเนอร์ ()" หากต้องการคืนพื้นที่ว่างที่ใช้พื้นที่น้อยที่สุดให้ส่งคืน "คอนเทนเนอร์ (กว้าง: 0.0, สูง: 0.0)"

คำตอบ

2 JonnyH Sep 25 2020 at 03:01

ในบรรทัดรหัสตาม WidgetsBinding เพิ่ม

return Container();

คุณยังสามารถใส่พารามิเตอร์สีเพื่อให้เข้ากับการออกแบบของคุณ