#javascript #reactjs
#javascript #reactjs
Вопрос:
Я изучаю react. Я пытаюсь передать props компоненту. Однако, похоже, что дочерний элемент неправильно получает реквизиты.
Мой класс приложения похож,
import React from 'react'
import ImageList from './ImageList'
class App extends React.Component{
state = { images: [] }
render = () => {
return(
<div className="ui container">
<ImageList images={this.state.images}/>
</div>
)
}
}
export default App
И мой класс ImageList выглядит так
import React from 'react'
class ImageList extends React.Component{
render = (props) => {
console.log(props)
return(
<div>
test
</div>
)
}
}
export default ImageList
Как вы можете видеть, я передаю <ImageList images={this.state.images}/>
из приложения. Это должно передать состояние изображений, которое сейчас является пустым массивом. Однако console.log(props)
отображается undefined
список изображений, но я ожидаю увидеть где-то там пустой массив (props.images).
Ответ №1:
В компоненте класса render
не принимает аргумент props. Вместо этого вы ссылаетесь this.props
на него.
Комментарии:
1. Спасибо. Это сработало. Я приму ответ. Один маленький запрос. Тогда мне больше не нужен render = (props) => . часть (props) не нужна. Верно?
2. Часть (props) не нужна, да.
Ответ №2:
В компоненте класса render не принимает аргумент props. Вы можете попытаться получить доступ к реквизитам, подобным этому, в компоненте класса.
import React from 'react'
class ImageList extends React.Component{
render () {
console.log(this.props)
return(
<div>
test
</div>
)
}
}
export default ImageList