我需要在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) {...}
它正在运作,但我想知道如何简化,即如何通过公共代码在renderS
和componentDidMount
内访问props \ state?