scalajs-реагирует на объединение компонентов

У меня есть некоторые задачи для изменения состояния, которые необходимо выполнить внутри componentDidMount а также внутри обработчиков нажатия кнопки, определенных в renderS метод. Задачи имеют много общего кода, поэтому я решил объединить их в одном классе, который получает область действия и применяет необходимые действия.

Беда в том, что внутри renderS метод у меня есть доступ к ComponentScopeU[...] и внутри componentDidMount я имею ComponentScopeM[...]

Я нашел это для доступа .props мне нужно проверить, есть ли у меня сфера супертрейта ComponentScope_P[...], чтобы получить доступ .state моя сфера должна иметь супертрейт ComponentScope_S[...] и иметь способность .modState я должен пройти неявно CompStateAccess[...],

Так что в настоящее время у меня есть такой код

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 через общий код?

0 ответов

Другие вопросы по тегам