最近,我已经尝试重构我的react代码,一件事是如果需要的话,使props可以在任何地方访问。假设这种特定情况:
import ComponentD from ...;
import ConponentE form ...;
import ComponentF from ...;
class ComponentA extends Component {
eventA = () => {
...
}
ComponentB = ({ propA }) => (
<ComponentE
propA={propA}
eventA={this.eventA}
/>
)
ComponentC = ({ propB, eventB }) => (
<ComponentF
propC={propB}
eventB={eventB}
/>
)
render() {
<ComponentD
Component1={ComponentB}
Componnet2={ComponentC}
/>
}
}
Class ComponentG extends Component {
eventB = () => {
...
}
render() {
return(
<ComponentA
propA="..."
propB="..."
eventB={this.eventB}
/>
)
}
}
ComponentC是框架组件,它将ComponentB和ComponentC重新定位在固定位置。 ComponentE和ComponentF都是无状态函数。 ComponnetG是我的目标组件,可以传递用于定制组成ComponentA的任何道具。