我有应用程序,具有布局组分,其主要成分,它有两个书架组件和每个书架部件具有五个书组件。我怎样才能例如改变第二书架,第五书 state.taken到真正或假从布局组件?如何更改特定的子组件的状态,通过祖父母组件?
它看起来是这样的:
Layout.js
export default class Layout extends React.Component {
render() {
var bookshelves = [
1,2
].map((bookshelf_id, i) => <Bookshelf key={i} bookshelf_id={bookshelf_id}/>);
return (
<div>
{bookshelves}
</div>
);
}
}
Bookshelf.js
export default class Bookshelf extends React.Component {
render() {
var books = [
1,2,3,4,5
].map((book_id, i) => <Book key={i} book_id={book_id}/>);
return (
<table>
<h1>Shelf{this.props.bookshelf_id}</h1>
{books}
</table>
);
}
}
Book.js
export default class Book extends React.Component {
render() {
var style= {
backgroundColor: this.props.taken ? 'red' : 'green'
};
return (
<td style={style}>Book{this.props.book_id}</td>
);
}
}