[Bug]: Is SPAの項目がNoに切り替わりづらい
motoki317 opened this issue · comments
バグの概要
Is SPAの項目がNoに切り替わりづらい
再現手順
静的ファイル配信型の新規アプリケーション作成時に、Is SPA: YesにしてからNoに切り替える
期待する動作
1クリックでNoに切り替わる
実際の動作
Yes->Noの切り替えの際必ず2~3クリック目で切り替わる、No->Yesの切り替えでは問題なく1クリックで切り替わる
再現環境
OS:Windows 11, ブラウザ:firefox_new:Firefox Nightly 127.0a1と:edge:Edge 124.0.2478.51で再現
スクリーンショット
No response
関連情報
以下の報告より
https://q.trap.jp/messages/bec2848e-a48d-4180-828d-91c074423bbe
以下の2つがかみ合ってなくて壊れてるっぽいです
- modular formsのコンポーネントで自動生成される formのstore制御用のonInput, onChange, onBlur
- 独自のform制御
- (kobalteのradio groupでbooleanが値として使えないから文字列↔booleanの変換を挟んだり, ビルドタイプの設定のために"runtime"/"static"と"buildpack"/"cmd"/"docker"の2*3のradio groupの入力値を組み合わせて"runtimeCmd"に変換したりしてる部分とか)
対応方針としては、独自のform制御をやめ、valibot等modular formsが正式に対応しているライブラリを使ってバリデーションや変換処理を行うようにすることを考えています。
また同時に、各formをpages/**
以下のコンポーネント内で作成し、propsとして子コンポーネントに渡して扱っていますが、かなり扱いづらくなっているのでcontextとして作成し、子コンポーネントではuseXXXForm()
を呼び出してformを受け取るようにしようと考えています。