2017-09-25 96 views
0

我有多个阵营,将接收到相同的道具部件...自动映射相同的道具多个反应的组分

... 
render() { 
    const { someProps } = this.props 

    return (
    <div className="someDiv"> 
     <Component1 someProps={someProps}/> 
     <Component2 someProps={someProps}/> 
    </div> 
) 
} 
... 

上面的代码工作正常,但有没有这样做的一个更加动态的方式吗? Mabye在Component名称数组上做一个.map()

回答

0

组件的数组应该工作得很好。

const Component1 = (props) => <div>Component 1</div> 
 
const Component2 = (props) => <div>Component 2</div> 
 
const Component3 = (props) => <div>Component 3</div> 
 

 
const components = [Component1, Component2, Component3] 
 

 
class App extends React.Component { 
 
    render() { 
 
    const { someProps } = this.props 
 
    
 
    return (
 
     <div> 
 
     <h3>Root component</h3> 
 
     {components.map((Component, index) => 
 
      <Component key={index} someProps={someProps} /> 
 
     )} 
 
     </div> 
 
    ) 
 
    } 
 
} 
 

 
ReactDOM.render(
 
    <App />, 
 
    document.getElementById('root') 
 
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> 
 

 
<div id="root"></div>

+0

完美...谢谢!!!!得多 – kaidez

相关问题