Flutter hooks で useWebViewController() のカスタムフックを作る
Flutter hooks で useTextEditingController();
とか useScrollController();
が使えてめっちゃ便利と思っていて、これを webview_flutter などでも使いたい。
やり方は前に Flutter hooks で画面遷移のイベント変化を custom hooks でいい感じに検知する - star__hoshi's diary で作ったように Custom Hook を作る。
WebViewController useWebViewController() { return use(const _WebViewController()); } class _WebViewController extends Hook<WebViewController> { const _WebViewController(); @override _WebViewControllerState createState() => _WebViewControllerState(); } class _WebViewControllerState extends HookState<WebViewController, _WebViewController> { final WebViewController _controller = WebViewController(); @override WebViewController build(BuildContext context) { return _controller; } @override void dispose() { super.dispose(); } }
これで final controller = useWebViewController();
ができる。