如何在React.js中将数组从父组件传递给子组件

时间:2019-09-27 06:30:28

标签: reactjs

我的项目中有两个组件,第一个组件是App我在创建项目时得到了这个App组件。第二个组件是ClassRoom。现在在App.js中,我有一个数组,在该数组中,我有四个不同的名称。现在,我必须为我的子组件ClassRoom传递这四个名称。我知道如何将对象数组循环到React。但是我不知道如何循环Array并将该数组传递给子组件,因此不能帮助我完成此任务。

这是App.js

import React from 'react';
import './App.css';
import ClassRoom from './ClassRoom/ClassRoom';

function App() {
  const students = ['shiva', 'krishna', 'ram', 'madhav']
  return (
    <div className="App">
     <ClassRoom></ClassRoom>
    </div>
  );
}

export default App;

这是App.css

.App {
  text-align: center;
}

.App-logo {
  height: 40vmin;
}

.App-header {
  background-color: #282c34;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
}

.App-link {
  color: #09d3ac;
}

这是ClassRoom.js

import React, { Component } from 'react'
import './ClassRoom.css'

export default class ClassRoom extends Component {
    render() {
        return (
            <div>

            </div>
        )
    }
}

这是ClassRoom.css

There is no css in ClassRoom.css

我的预期输出是我需要将学生数组从App.js的父组件传递到ClassRoom.js的子组件。 如果没有,请清除我的疑问。

3 个答案:

答案 0 :(得分:4)

只需<ClassRoom students={students}/>

在ClassRoom中,组件网使用this.props.students

进行访问

答案 1 :(得分:1)

在App.js中

Extension{"extensionDataSourceKind":"R","extensionDataSourcePath":"R"} Cannot be added to gateway

在ClassRoom.js中

function App() {
  const students = ['shiva', 'krishna', 'ram', 'madhav']
  return (
    <div className="App">
     <ClassRoom studentsArray = { students } />
    </div>
  );
}

答案 2 :(得分:0)

如果您的ClassRoom组件是功能组件,请使用它。

<ClassRoom students={students}/>

 function ClassRoom(props) {
    render() {
        return (
            <div>
                {props.students}
            </div>
        )
    }
}

export default ClassRoom;

在功能组件中使用props.students,在类组件中使用this.props.students