Flutter не может запустить приложение

Решил сделать навигацию по приложению через BottomNavigationBar, а в 'body' указываю индекс той страницы, на которой находится пользователь. Если запустить код так, то будет пустой белый лист. Если же убрать body, код запускается, но пользователь не сможет перемещаться по страницам. Не понимаю в чём ошибка

import 'package:incelynn_todo/pages/home.dart';

class MyCompany extends StatefulWidget {
  const MyCompany({Key? key}) : super(key: key);

  @override
  State<MyCompany> createState() => _MyCompanyState();
}

class _MyCompanyState extends State<MyCompany> {
  int currentIndex = 0;

  final screens = [
    const Home(),
    const MyCompany(),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.black87,
      appBar: AppBar(
        title: Text('StartUp!'),
        backgroundColor: Colors.white12,
        centerTitle: true,
      ),

      body: IndexedStack(
        index: currentIndex,
        children: screens,
      ),

      bottomNavigationBar: BottomNavigationBar(
        backgroundColor: Colors.white12,
        fixedColor: Colors.white70,
        unselectedItemColor: Colors.white30,
        currentIndex: currentIndex,
        onTap: (index) => setState(() => currentIndex = index),
        items: const [
          BottomNavigationBarItem(label: ('Home'), icon: Icon(Icons.home)),
          BottomNavigationBarItem(
              label: ('Company'), icon: Icon(Icons.business)),
        ],
      ),
    );
  }
}```

Ответы (1 шт):

Автор решения: Денис Пикс
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        splashFactory: InkRipple.splashFactory,
      ),
      debugShowCheckedModeBanner: false,
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int pageIndex = 0;

  List<Widget> pageList = [
    const Center(child: Text('menu')),
    const Center(child: Text('settings')),
    const Center(child: Text('search'))
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: pageList[pageIndex],
      bottomNavigationBar: bottomAppBar(),
    );
  }

  Widget bottomAppBar() {
    return BottomNavigationBar(
      elevation: 3,
      type: BottomNavigationBarType.fixed,
      showSelectedLabels: false,
      showUnselectedLabels: false,
      currentIndex: pageIndex,
      onTap: (int i) {
        setState(() => pageIndex = i);
      },
      items: const <BottomNavigationBarItem>[
        BottomNavigationBarItem(
          icon: Icon(Icons.menu),
          activeIcon: Icon(Icons.menu_outlined),
          label: 'Menu',
        ),
        BottomNavigationBarItem(
          icon: Icon(Icons.settings),
          activeIcon: Icon(Icons.settings_outlined),
          label: 'Settings',
        ),
        BottomNavigationBarItem(
          icon: Icon(Icons.search),
          activeIcon: Icon(Icons.search_outlined),
          label: 'Search',
        ),
      ],
    );
  }
}
→ Ссылка