2016-07-23 6 views
0

I-Komponente mit einer Reihe von verschiedenen Kinder reagieren haben:Wie reagieren die Komponenteneigenschaft Kind ändern

render() { 
    let Tag = '${this.props.wrapper}'; 
    return (
     <Tag> 
      {this.props.children} 
     </Tag> 
    ); 
} 

Wenn ein Ereignis aufgetreten i className Eigenschaft einer Anzahl von Kindern ändern müssen. Gibt es eine Möglichkeit, dies von der übergeordneten Komponente zu tun?

+1

Möglicherweise ein [dup] (http://stackoverflow.com/questions/32370994/how-to-pass-props-to-this-props-children), wo Sie die Antwort finden können. – Season

Antwort

1

denken ändern würde ich Sie so etwas wie dies gesuchte:

render() { 
    return React.createElement(
    this.props.wrapper, 
    null, 

    // Children 
    React.cloneElement(
     this.props.children, 
     {className: 'assignedChildClassname'} 
    ) 
); 
} 

Löst dies Ihr Problem?

0

In Ihrer Eltern-Komponente können Sie Klassennamen passieren, wie

<Child className={this.state.classes}/> 

Ihre Eltern Requisiten Zustandsklassen haben, die auf Klick

+0

nicht in diesem Fall. Kinder können ihren eigenen anfänglichen className enthalten, der durch 'this.state.classes' ersetzt wird (er sollte nur in einigen Fällen geändert werden). – xalz

+0

in Ihrer untergeordneten Komponente können Sie className = {this.props.className + myextraClasses} –

+0

meine Änderungen sehen. Wie kann ich das jetzt tun? – xalz

Verwandte Themen