2016-12-19 28 views
0

我创建了一个下拉菜单,我试图将它传递给另一个组件:ReactJS:在传承组件作为财产

var DropDownButton = React.createClass({ 
    getInitialState: function() { 
     return { 
      stage: 'Select' 
     } 
    }, 

    change: function(e){ 
     this.setState({ 
      stage: e.target.value 
     }); 
    }, 

    render: function() { 
     return (
      <div key={i}> 
       <select id='dropdown' onChange={this.change} value={this.state.value}> 
        <option value="Select">Select</option> 
        <option value="1">Option1 </option> 
        <option value="2">Option2 </option> 
       </select> 
      </div> 
     ) 
    } 
}); 

我想通过这个菜单为CreateCandidate

return (
      <div> 
       {pageHeaderInstance} 
       <CreateCandidate addCandidate = {this.addCandidate} /> 
       <ShowTable people= {this.state.people} /> 
      </div> 
     ) 

Inside CreateCandidate我创建了新的对象,我想包括下拉菜单作为它的一部分。如何将整个组件传递到其他组件?我在想是这样的:

<CreateCandidate addCandidate = {this.addCandidate} dropdownmenu = { ..add dropdownButton component..} 
+0

你为什么试图通过周围的部件? – RadleyMith

回答

0

你可以通过创建JSX成分越简单

<CreateCandidate addCandidate = {this.addCandidate} dropdownmenu = {<DropDownButton/>} 
0

正确的做法是进口部件在CreateCandidate组件,然后使用它,而不是从父穿过部件

导入像

import {DropDownButton} from '/path/to/DropDownButton'; 

,并以此为<DropDownButton/>

还要确保您导出DropDownButton组件一样

module.exports = DropDownButton;