2016-08-09 21 views
2

Also lassen Sie uns sagen, ich habe dieseWie geändert reagieren erweiterte Klasse?

class ExampleOne extends ExampleTwo 

und in ExampleTwo diese

return (
    <div className="test"> 
     <MyComponent exampleLabel="ExampleTwo"> 
hat Ist es möglich, MyComponent der exampleLabel zu sagen: "ExampleOne" für Klasse ExampleOne zu ändern?

Antwort

2

Es gibt zwei Szenarien

1) Wenn Sie ändern können, ExampleTwo, Verwendung reagieren props

class ExampleTwo extends React.Component { 
     render() { 
     return <div> 
      <MyComponent exampleLabel={this.props.exampleLabel || 'ExampleTwo'}/> 
     </div>; 
     } 
} 
// And render as 
<ExampleOne exampleLabel="ExampleOne"/> 

2) Wenn Sie c Ändern Sie ExampleTwo, dann können Sie render Funktion

class ExampleOne extends ExampleTwo { 
    render() { 
     return <div> 
      <MyComponent exampleLabel="ExampleOne"/> 
     </div>; 
     } 
} 
überschreiben
1

Ja, Ausweitung der ExampleOne in Ordnung ist, würden Sie es einfach als Stütze passieren wie so:

In ExampleTwo:

return (
    <div className="test"> 
     <MyComponent exampleLabel="ExampleOne">