2016-08-09 104 views
2

所以我們可以說我有這個如何修改反應擴展類?

class ExampleOne extends ExampleTwo 

和ExampleTwo有這個

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

是否有可能修改爲MyComponent的exampleLabel說 「ExampleOne」 類ExampleOne?

回答

2

有兩種情況

1如果你可以修改示例二,使用反應props

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

2)如果你c不修改示例二,則可以覆蓋render函數

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

是,延長ExampleOne是好的,你只是把它作爲像這樣的道具:

在ExampleTwo:)

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