Я пишу свое приложение сact.js и пытаюсь получить данные, которые являются массивом объектов, из дочернего компонента компонента (P) (C1), а затем снова передать данные другому дочернему компоненту ( С2). Однако, когда я консоль регистрирую поступившие данные в (C2), странно, что он показывает, что данные есть, но когда я консоль регистрирую их свойство, он говорит, что не может прочитать свойство undefined.
Код ниже:
class ParentComponent extends Component {
constructor(props) {
super(props)
this.state = {
photos: []
}
}
myCallback = dataFromChild1 => {
this.setState({
photos: dataFromChild1
})
render(){
const { photos } = this.state;
return (
<main>
<Child1 callbackFromParent={this.myCallback} />
<Child2 photos={photos} />
</main>
)
}
class Child1 extends Component {
constructor(props) {
super(props)
}
componentDidMount() {
const photos = [{width: '100px'}, {width: '150px'}];
this.props.callbackFromParent(photos);
}
render() {
return (
<main>
...
</main>
)
}
}
function Child2(props) {
const photos = props.photos;
console.log(photos) // > [{..},{..}]
console.log(photos[0].width) // > cannot read property 'width' of undefined
return (
<main>
...
</main>
)
}