Моя проблема в следующем.Реакт - событие child onClick не срабатывает при привязке параметров
- У меня есть компонент «BookShelf», который содержит список «Книга».
- Родитель (книжная полка) управляет в своем состоянии свойством «selectedBook».
- При нажатии на одного ребенка (книга), Я хотел бы обновить его родителя selectedBook.
- Для этого я использую функцию, определенную в родительских свойствах.
- Но этот метод никогда не trigerred (я пробовал с console.log ('что-то'), но она никогда не показывает
Смотрите мой код ниже:.
setSelectedBook(index) {
this.setState({
selectedBook: index
})
},
getInitialState() {
return {
books: [],
selectedBook: null
}
},
componentDidMount() {
let component = this
$.ajax({
url: 'data/books.json',
success (data) {
component.setState({
books: data
})
},
error (err) {
console.log(err)
}
})
},
render() {
let component = this
var bookList = this.state.books.map(function(book, index) {
let selectBook = component.setSelectedBook.bind(component, index)
return (
<Book onClick={selectBook} data={book} key={index} />
)
})
return <div className="book-shelf">
{bookList}
</div>
}
Заранее спасибо !
Как ваш 'Book' компонент вызывает' onClick'? Вам нужно вызвать 'props.onClick()' явно в компоненте 'Book' – Maxx
Не могли бы вы вставить код для компонента' Book'? –
Возможно, я что-то пропустил. OnClick не запускается только путем добавления его в декларацию книги? – OhmWang