我想将useEffect与TextEditingController一起使用,而不是使用TextEditingControl。
错误:初始化延迟错误。我没有正确地编写init和处理吗?
class EffectTest extends HookWidget {
const EffectTest({super.key});
@override
Widget build(BuildContext context) {
late TextEditingController controller;
useEffect(
() {
controller = TextEditingController();
return () {
controller.clear();
};
},
[],
);
return MaterialApp(
home: Scaffold(
body: Column(
children: [
Text(controller.value.text),
TextField(
controller: controller,
onSubmitted: (value) {
print(controller.value.text);
},
),
],
),
),
);
}
}
final TextEditingController controller = useTextEditingController();
flutter钩子将处理所有事情,您不必在useEffect中初始化它。