2
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')
);
我給你+1,因爲我相信這會起作用,並感謝你花時間回答這個問題。話雖如此;我正在尋找一個使用es7裝飾器而不是自定義裝飾概念的答案。乾杯! – Conqueror
你可能想更新你的問題,然後,你不裝飾組件樹,你正在裝飾渲染功能,我仍然認爲這可以用同樣的方式完成,但是我沒有足夠的ES7經驗來真正建議回答 – Patrick