【发布时间】:2017-12-03 22:03:36
【问题描述】:
https://jsfiddle.net/69z2wepo/81913/
我正在装饰一个组件树并向我的组件添加一些元数据。在顶层组件 (A) 上工作得很好;但是如果我尝试装饰我的子组件(注释掉但未注释说明了问题) - 渲染链中断并且传递下来的道具无法正确渲染(或根本没有)。有没有人有任何见解 - 我在上面附上了一个小提琴。
var dec = (t, k, d) => {
console.log('hello decoration')
var el = React.cloneElement(d.value(), {'label': 'my-component-label'})
return {value: () => el}
}
class B extends React.Component{
constructor(props) {
super(props)
}
//@dec
render() {
return <div>
{this.props.data}
</div>
}
}
class A extends React.Component{
constructor(props) {
super(props)
}
@dec
render() {
return <div>
<B data={99 + 101}/>
</div>
}
}
ReactDOM.render(
<A/>,
document.getElementById('container')
);
【问题讨论】:
标签: javascript reactjs decorator react-jsx ecmascript-next