Skip to content
This repository was archived by the owner on Apr 5, 2020. It is now read-only.

Commit 661f2b5

Browse files
committed
refactoring: Book as Stateless Functional Component
1 parent 2e64769 commit 661f2b5

File tree

1 file changed

+24
-27
lines changed

1 file changed

+24
-27
lines changed

src/Book.js

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,33 @@
1-
import React, {Component} from 'react';
1+
import React from 'react';
22

3-
class Book extends Component {
3+
const Book = (props) => {
44

5-
render() {
5+
const book = props.book;
66

7-
const book = this.props.book;
7+
return (
88

9-
return (
10-
11-
<div className="book">
12-
<div className="book-top">
13-
<div className="book-cover" style={{
14-
width: '100%',
15-
height: '100%',
16-
backgroundImage: `url(${book.imageLinks ? book.imageLinks.smallThumbnail : ''})`
17-
}}> </div>
18-
<div className="book-shelf-changer">
19-
<select value={book.shelf} onChange={(e) => this.props.onHandleChange(book, e.target.value)}>
20-
<option value="none" disabled>Move to...</option>
21-
<option value="currentlyReading">Currently Reading</option>
22-
<option value="wantToRead">Want to Read</option>
23-
<option value="read">Read</option>
24-
<option value="none">None</option>
25-
</select>
26-
</div>
9+
<div className="book">
10+
<div className="book-top">
11+
<div className="book-cover" style={{
12+
width: '100%',
13+
height: '100%',
14+
backgroundImage: `url(${book.imageLinks ? book.imageLinks.smallThumbnail : ''})`
15+
}}> </div>
16+
<div className="book-shelf-changer">
17+
<select value={book.shelf} onChange={(e) => props.onHandleChange(book, e.target.value)}>
18+
<option value="none" disabled>Move to...</option>
19+
<option value="currentlyReading">Currently Reading</option>
20+
<option value="wantToRead">Want to Read</option>
21+
<option value="read">Read</option>
22+
<option value="none">None</option>
23+
</select>
2724
</div>
28-
<div className="book-title">{book.title}</div>
29-
<div className="book-authors">{book.authors}</div>
3025
</div>
26+
<div className="book-title">{book.title}</div>
27+
<div className="book-authors">{book.authors}</div>
28+
</div>
3129

32-
)
33-
}
34-
}
30+
)
31+
};
3532

3633
export default Book

0 commit comments

Comments
 (0)