在一个类中可以有双重扩展吗?就我而言,我有 pod repo push <REPO_NAME> <PATH_TO_YOUR_PODSPEC_FILE>.podspec
类,我只想扩展 class AddCreditsState extends State<AddCredits>
中的 HookWidget
,
class AddCreditsState extends State<AddCredits>
}
答案 0 :(得分:1)
在 Dart 中,可以implements
多个接口,但 Dart 只支持单继承。因此,您不能从多个类中extends
。
不过,您可以将多个 Mixin 与 with
一起使用。
但在这种特殊情况下,您可能想要的是一个 StatefulHookWidget,一个可以在其构建方法中使用钩子的 StatefulWidget。
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
void main() {
runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
title: 'StatefulHookWidget Example',
home: HomePage(),
),
);
}
class HomePage extends StatefulHookWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String _state = 'Hello';
@override
Widget build(BuildContext context) {
final _hookedVar = useState('Hello');
return Scaffold(
appBar: AppBar(title: Text('StatefulHookWidget Example')),
body: Container(
padding: EdgeInsets.all(16.0),
alignment: Alignment.center,
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text('STATE: $_state'),
const SizedBox(height: 16.0),
Text('HOOK: ${_hookedVar.value}'),
const SizedBox(height: 16.0),
ElevatedButton(
onPressed: () {
setState(() => _state = 'Goodbye');
_hookedVar.value = 'Goodbye';
},
child: Text('CLICK ME'),
)
],
),
),
);
}
}