NeoShowcase icon indicating copy to clipboard operation
NeoShowcase copied to clipboard

[Bug]: Is SPAの項目がNoに切り替わりづらい

Open motoki317 opened this issue 1 year ago • 1 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

motoki317 avatar Apr 22 '24 04:04 motoki317

以下の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を受け取るようにしようと考えています。

eyemono-moe avatar Jul 15 '24 11:07 eyemono-moe