javascript - 将 props 传递给不同组件的映射数组

标签 javascript reactjs

我有一组具有不同名称的导入 React 组件,我想迭代它们并将相同的 props 传递给每个组件,但我找不到正确执行此操作的方法。

这是我以伪代码形式获得的内容:

const myArray = [
  <Component1 />,
  <Component2 />,
  <Component3 />,
];

render() {
  return(
    <div>
      {myArray.map( ComponentX => {ComponentX} )} // pass the same props into these components?
    </div>
  );
}

最佳答案

不要在数组中使用 JSX,这样就可以了:

class Component1 extends React.Component {
  render() {
    return <div>{this.props.prop}</div>;
  }
}

class Component2 extends React.Component {
  render() {
    return <div>{this.props.prop}</div>;
  }
}

const myArray = [
  Component1,
  Component2,
];

class App extends React.Component {
  render() {
    return (
      <div>
        {myArray.map(ComponentX => <ComponentX prop="Hello World!" /> )}
      </div>
    );
  }
}


ReactDOM.render(<App/>, document.getElementById('View'));
<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="View"></div>

关于javascript - 将 props 传递给不同组件的映射数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595198/

相关文章:

javascript - 如何将 OpenLayers 与 react-starter-kit 一起使用?

javascript - 从 redux 中的 reducer 取回 ID

javascript - 速记方法定义

javascript - 当父窗口用户注销时关闭特定的子窗口

JavaScript 资源管理设计模式

javascript - 有没有更简洁的方法在javascript中编写css边距字符串

javascript - 渲染器优于原生元素方法?

javascript - Netlify 正在显示我的 Gatsby 网站的 html 版本

javascript - 在 Electron JS 应用程序中使用自定义标题栏

javascript - 使用 VS Code 清理 React 文件中的格式