-
Notifications
You must be signed in to change notification settings - Fork 308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: 読み方&アクセント辞書ダイアログの右側パネルを別コンポーネントにする #2290
base: main
Are you sure you want to change the base?
Conversation
リファクタリング本当にありがたいです!!! |
まだ作業中段階ではありますが、新規に編集部分のコンポーネントを作成しました。 ただ、今のところこの状態で動かすとUIなどの表示部分が動いていない模様で、その原因の追求と改善を行っていきたいと考えております。 |
この変数をコンポーザブルに渡す際、
というエラーが出ておりました。 |
読み込み中かどうかの判定には 今回の場合はコンポーザブルにするかどうかはどちらでも良いはずで、先にコンポーネントを切り出してあげた方がやりやすいかもです。 参考になれば!! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっと見てみてました! これかなり難しいですね!!!
たぶんなのですが、コンポーザブルなしでリファクタリングを考えるほうがずっと単純になりそうな予感がしました。
コンポーザブルは「別々のコンポーネントで別々のインスタンスなどを作る」ためのものですが(再利用性が高い)、今欲しいのは「別々のコンポーネントで同じインスタンスを作る」(共有)なので、目的と少しずれてるかもです。
ちなみに共有する場合はContextをInject/Provideすると良い感じになることがあります。
https://ja.vuejs.org/guide/components/provide-inject
とりあえず一旦これはやらないで、一旦変数や関数をひたすら子コンポーネントに渡すのが良い気がします。
とりあえずの方針として、まずUI系だけをコンポーネントから切り出し、saveとかの操作用の関数は全部親から子に渡すのはどうでしょうか? 👀
ぱっと仕分けしてるので間違ってるかもですが、雰囲気こんな感じかなと
- 子コンポーネント側
- HTML構造全部
- 音声再生機構
- nowGenerating, nowPlaying, play, stopとか
- メニュー系
- surfaceInput, yomiInputとか
- アクセント系
- changeAccent
- 親コンポーネント側
- uiLock、createUILockAction
- wordEditing
- 状態変数とそのsetter
- surfaceとかsetSurfaceとか
accentType
の状態変数がなぜか無いので作ると良さそう
- 関数いろいろ
- saveWord, deleteWord, resetWordとか
- あとステートの移動用の関数とか
- 子コンポーネントに移動できるのもありそうだけど、不明
初めて知りました!inject/provide見てみます!
少し前のコミットの戻して対応してみます! |
参考になれば…! |
bd5eb97
to
61c97e1
Compare
ここで仕分けられている関数などは、仕分けられている親・子に移動or実装と言う形であっていますでしょうか? |
bab886c
to
53d2e0b
Compare
あ、そのニュアンスで書いていました! |
内容
関連 Issue
close #2234
スクリーンショット・動画など
その他
関連: #2237