Results 9 issues of John Whiles

[Here](https://github.com/oliverjam/bookmarkd/blob/62b1d50016a0051b058334fbf5c8de2dff881db9/backend/script.js#L78) - don't do it kids.

I've raised lots of issues, so I want to also say that this is a really impressive app. Good work all!

I recommend trying to construct your react apps in a way that has as little state as is possible. If you can calculate something based on props, or other pieces...

In [bookrows](https://github.com/oliverjam/bookmarkd/blob/master/src/components/BookRows.js) you extend class but then don't use any of the features of a class. I've seen you using functional components else where - and I think it's good...

Snapshot tests are quick and easy to set up - and they give you quite a lot of information when you are making changes. Do it :)

I raise this issue more as a point of disucssion that as a critcisim. In [your app.js file](https://github.com/oliverjam/bookmarkd/blob/master/src/components/App.js#L14-L65), you have defined what looks very much like a normal css file...

This is a bit of personal preference but [here](https://github.com/oliverjam/bookmarkd/blob/945ed883856f01fcda295aa99f181f1cc4a68f69/src/actions/actions.test.js#L17-L21): ``` const expectedTheme = 'green'; const expectedThemeAction = { type: types.CHANGE_THEME, theme: expectedTheme, }; ``` I can't see any benefit to...

[This line](https://github.com/oliverjam/bookmarkd/blob/62b1d50016a0051b058334fbf5c8de2dff881db9/backend/script.js#L68) `bookInfo = bookInfo.sort((a, b) =>` is dangerous. calling .sort on an array mutates the original array. This means that reassigning bookInfo to a sorted version of itself is...

Your function declarations vary from parentheses free arrow functions with implicit returns `x => x` to traditional javascript declarations `function(x) { return x }`. Ideally you should be consistent throughout...