传递数据
Props 也是将数据从一个组件传递到另一组件作为参数的方式。
将 "brand" 属性从车库组件发送到汽车组件:
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
class Car extends React.Component {
render() {
return <h2>我是一辆 {this.props.brand}!</h2>;
}
}
class Garage extends React.Component {
render() {
return (
<div>
<h1>谁住在我的车库里?</h1>
<Car brand="Ford" />
</div>
);
}
}
ReactDOM.render(<Garage />, document.getElementById('root'));
如果您有一个要发送的变量,而不是上面的示例中的字符串,则只需将变量名放在大括号中即可:
创建一个名为 "carname" 的变量,并将其发送到 Car 组件:
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
class Car extends React.Component {
render() {
return <h2>我是一辆 {this.props.brand}!</h2>;
}
}
class Garage extends React.Component {
render() {
const carname = "Ford";
return (
<div>
<h1>谁住在我的车库里?</h1>
<Car brand={carname} />
</div>
);
}
}
ReactDOM.render(<Garage />, document.getElementById('root'));
运行结果如下:
或者,如果它是一个对象:
创建一个名为 "carinfo" 的对象,并将其发送到Car组件:
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
class Car extends React.Component {
render() {
return <h2>我是一辆 {this.props.brand.model}!</h2>;
}
}
class Garage extends React.Component {
render() {
const carinfo = {name: "Ford", model: "Mustang"};
return (
<div>
<h1>谁住在我的车库里?</h1>
<Car brand={carinfo} />
</div>
);
}
}
ReactDOM.render(<Garage />, document.getElementById('root'));
运行结果如下: