原始问题:https://github.com/acdlite/recompose/issues/232
如何访问BaseComponent的ref或任何级别的组件?
码:
class BaseComponent {
doSth(){...}
}
const Component compose(...some)(BaseComponent);
class App {
componentDidMount() {
// undefined(doSth) is not a function
this.refs.component.doSth();
}
render() {
<Component ref="component" />
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用hoistStatic。
class BaseComponent {
doSth(){...}
}
const enhance = compose(...some)
const Component = hoistStatics(enhance)(BaseComponent)
class App {
componentDidMount() {
this.refs.component.doSth()
}
render() {
<Component ref="component" />
}
}
Run Code Online (Sandbox Code Playgroud)
你可以在测试中找到一个真实的例子。
| 归档时间: |
|
| 查看次数: |
1246 次 |
| 最近记录: |