2

flutter-riverpod在我的应用程序中使用状态管理。由于使用 Riverpod,我必须将我的更改Stateful widgetconsumer widget,我无法访问setState(). 现在,使用 为底栏编写状态管理代码后Riverpod,它不起作用。

这是我的代码-


int index = 0;

class HomePage extends ConsumerWidget {
  final currentIndex = Provider<int>((ref) => index);

  Widget build(BuildContext context, ScopedReader watch) {
    int _currentIndex = watch(currentIndex);

    

    return auth.when(//authstatchange provider
      data: (e) {
        if (e!=null&&e.uid != null) {
          return Scaffold(
            body: PageView(
              physics: NeverScrollableScrollPhysics(),
              controller: _pageController,
              onPageChanged: (ind) {
                index = ind;
              },
              children: [
                SomePage(),
              ],
            ),
            bottomNavigationBar: SingleChildScrollView(
              scrollDirection: Axis.horizontal,
              child: Container(
                someCode(),
),
                child: SomeCode(),)
                        tabBackgroundColor: Colors.grey[800],
                        tabs: [
                          tabs()
                        ],
                        selectedIndex: _currentIndex,
                        onTabChange: (ind) {
                          index = ind;
                         _pageController.jumpToPage(index);
                        )//closing brackets (omitted)
   //brackets

4

0 回答 0