我有應用程序,具有佈局組分,其主要成分,它有兩個書架組件和每個書架部件具有五個書組件。我怎樣才能例如改變第二書架,第五書 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>
);
}
}