You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未使用SearchController时flutter_hooks为何抛出方法未找到错误?

问题解决指南

问题1:hooks_riverpod无法识别useEffect

useEffect 是 flutter_hooks 库专属API,并非hooks_riverpod内置方法,单独使用hooks_riverpod自然找不到该函数,需配合flutter_hooks一起引入。

问题2:flutter_hooks抛出"Method not found: 'SearchController'"

该错误源于版本不兼容:

  • flutter_hooks 0.20.0版本新增了SearchController相关hook,但SearchController是Flutter 3.10.0及以上版本才加入的Material组件类。
  • 若你的Flutter SDK版本低于3.10.0,就会触发此方法找不到的错误。

解决方案二选一:

  1. 升级Flutter版本:
    执行命令升级至最新稳定版:
    flutter upgrade
    
  2. 降级flutter_hooks版本:
    修改pubspec.yaml中的flutter_hooks依赖为0.19.4(该版本未引入SearchController相关代码):
    dependencies:
      flutter_hooks: ^0.19.4
    
    然后执行:
    flutter pub get
    

代码逻辑修正

你的SplashPage代码中,startController的异步延迟逻辑未生效——当前代码会立刻执行页面跳转,而非等待1秒后操作。修正后的代码如下:

import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:riverpod_firebase_register_crud_app/ui/utils/lables.dart';

import '../root.dart';

class SplashPage extends HookWidget {
  const SplashPage({super.key});

  static const String route = '/splash';

  @override
  Widget build(BuildContext context) {
    useEffect(() {
      // 将异步逻辑包裹在立即执行的async函数中
      Future<void> initSplash() async {
        await Future.delayed(const Duration(seconds: 1));
        // pushNamedAndRemoveUntil会清空路由栈,无需判断canPop
        Navigator.pushNamedAndRemoveUntil(
          context,
          Root.route,
          (route) => false,
        );
      }
      initSplash();
      return null;
    }, const []);

    return Scaffold(
      backgroundColor: Theme.of(context).colorScheme.primaryContainer,
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Icon(
              Icons.favorite,
              size: 80,
            ),
            const SizedBox(height: 24),
            Text(
              Labels.appName,
              style: Theme.of(context).textTheme.headlineLarge!.copyWith(
                    color: Theme.of(context).colorScheme.onPrimaryContainer,
                  ),
            ),
          ],
        ),
      ),
    );
  }
}

内容的提问来源于stack exchange,提问作者Nasimi Gun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:15:16