Сначала убедитесь, что вы uppercase
первая буква ChildComponent
.Если вы хотите передать данные, вы должны добавить этот объект в качестве атрибута к component
, а затем получить к нему доступ через this.props
.Также вам нужно визуализировать один верхний элемент, и если вам не нужен div
или любой другой элемент HTML, вы можете заключить его в React.Fragment
.
Относительно data
, если этомассив, вы можете просто map
через него и вернуть данные, которые вы хотите видеть, если вы хотите, чтобы весь объект отображался в виде строки, вы можете использовать JSON.stringify()
.И если это object
, вы можете показывать только те данные, которые вам нужны.
class App extends React.Component {
//...
render() {
const { data } = this.state;
return (
<div>
<ChildComponent data={data} />
</div>
);
}
}
//for array, ex: data = ["first","name"];
class ChildComponent extends React.Component {
render() {
return (
<React.Fragment>
{this.props.data.map(item =>
<p>{item}</p>
)}
</React.Fragment>
);
}
}
//for object, ex: data = {id: 1, name: 'John'};
class ChildComponent extends React.Component {
render() {
const {data} = this.props;
return (
<React.Fragment>
<p>{data.id}</p>
<p>{data.name}</p>
</React.Fragment>
);
}
}
//for single value (string, int, etc), ex: data = "my name";
class ChildComponent extends React.Component {
render() {
return (
<React.Fragment>
<p>{this.props.data}</p>
</React.Fragment>
);
}
}
//to show object as a string (could be any object mentioned before)
class ChildComponent extends React.Component {
render() {
return (
<React.Fragment>
{JSON.stringify(this.props.data)}
</React.Fragment>
);
}
}