![](/img/trans.png)
[英]The return type 'Widget?' isn't a 'Widget', as required by the closure's context
[英]error: The return type 'CategoryState' isn't a 'Widget', as required by the closure's context
class CategoryState 不是一个小部件,它只是一个 Dart class 您想要导航到 Category()
根据文档: https://flutter.dev/docs/cookbook/navigation/navigation-basics , MaterialPageRoute
ZA2F2ED4F8EBC2CBB14C21A29DCZ40 的构建器 function 应该返回一个小部件 StatelessWidget
和StatefulWidget
都扩展了Widget
class,因此可以在这里使用。
但是在您的情况下, CategoryState
class 没有扩展它们中的任何一个,这就是您遇到该错误的原因。
您需要改用Category
class。
然后它应该看起来像:
页:
class Category extends StatefulWidget {
@override
_CategoryState createState() => _CategoryState();
}
class _CategoryState extends State<Category> {
@override
Widget build(BuildContext context) {
return Column(
children: [
Container(child: Text("Music")),
Container(child: Text("Projects")),
Container(child: Text("Essay")),
],
);
}
}
导航
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Category())
);
此外,我建议您为此 class 名称(例如 CategoryScreen)添加一个后缀,以避免名称冲突,以防您有另一个 class(例如模型)具有相同的名称。
回家我的回答有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.