1

メソッドcomponentDidMountで定義されたボタンクリックハンドラーの内部でも実行する必要がある状態変更タスクがいくつかあります。renderSタスクには多くの共通コードがあるため、スコープを受け取り、必要なアクションを適用する 1 つのクラス内にそれらを結合することにしました。

問題は次のとおりです:renderSメソッド内で私はアクセスできComponentScopeU[...]、内部でcomponentDidMount私は持っていますComponentScopeM[...]

アクセス.propsするにはスコープにスーパートレイトがあることを確認する必要があり、スコープにアクセスするにはスーパートレイトが必要であり、暗黙ComponentScope_P[...]的にパスする必要があることを確認しました。.stateComponentScope_S[...].modStateCompStateAccess[...]

だから現在、私はこのようなコードを持っています

case class State(...)
type ScopePS = ComponentScope_P[Int] with ComponentScope_S[State]
type StateAccess[C] = CompStateAccess[C, State]
implicit class MyActions[T <: ScopePS : StateAccess](scope: T) {...}

それは機能していますが、これをどのように単純化できるのだろうか、つまり、props\state に内部renderSおよびcomponentDidMount共通コードを介してアクセスするにはどうすればよいでしょうか?

4

0 に答える 0