【发布时间】:2019-01-13 15:33:49
【问题描述】:
我在 React 中有一个简单的组件:
const applyFallbackStyles = withFallbackStyles( ( node, ownProps ) => {
const { imageWidth } = ownProps;
const divNode = node.querySelector( '.text' );
return {
fallbackImageWidth: getComputedStyle( divNode ).width,
};
} );
class Image extends Component {
constructor( props ) {
super( ...arguments )
}
render() {
<div className="test">Hello world</div>
}
}
并使用 compose 包装函数
export default compose( [
applyFallbackStyles,
] )( Image );
组件渲染:
<div>
<div className="test">Hello world</div>
</div>
为什么要添加额外的 div? compose 似乎将<div className="test">Hello world</div> 包装在另一个<div> 中
可以避免吗?或者至少为它指定一个类名。
【问题讨论】:
-
你指的是哪个
compose函数?来自 Recompose 还是 Redux? -
它只是一个包含高阶组件集合的包。 npmjs.com/package/@wordpress/compose
标签: reactjs higher-order-components