https://jsfiddle.net/69z2wepo/81913/Wie dekoriere ich eine reaktive Komponente und alle ihre Kinder?
Ich dekoriere einen Komponentenbaum und füge einige Metadaten zu meinen Komponenten hinzu. Funktioniert wunderbar auf der obersten Ebene Komponente (A); aber wenn ich versuche, meine Sub-Komponenten zu dekorieren (auskommentiert, aber nicht kommentierend, illustriert das Problem), werden die Renderkettenumbrüche und Requisiten, die weitergegeben werden, nicht richtig (oder überhaupt) gerendert. Hat jemand einen Einblick - ich habe oben eine Geige angebracht.
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')
);
Ich gebe Ihnen +1, weil ich glaube, das würde funktionieren und die Zeit schätzen, die Sie für die Beantwortung dieser Frage gebraucht haben. Das sagte man; Ich bin auf der Suche nach einer Antwort, die es7 Dekorateure statt einer benutzerdefinierten Idee der Dekoration verwendet. Prost! – Conqueror
Vielleicht möchten Sie Ihre Frage zu aktualisieren, dann schmücken Sie nicht einen Komponentenbaum, dekorieren Sie die Render-Funktion, ich denke immer noch, dass dies auf die gleiche Weise getan werden kann, aber ich genug nicht genug Erfahrung in ES7, um tatsächlich vorschlagen Antworten – Patrick