build method
Implementation
@override
Widget build(BuildContext context) {
final controller = useMemoized(() => controllerProvider(text: text.value), [], (it) => it.dispose());
final wrappedValue = useValueWrapper(text);
useEffect(() {
void listener() {
if (controller.text != wrappedValue().value) text.value = controller.text;
}
controller.addListener(listener);
return () {
try {
controller.removeListener(listener);
} catch (_) {
// ignore errors during dispose
}
};
});
useEffect(() {
if (controller.text != text.value) controller.text = text.value;
return null;
}, [text.value]);
return builder(controller);
}