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