Jokes aside, everything has its place. You're still allowed to hate it though. For example, I hate Redux because everyone uses it for every React app and it's got boilerplate up the wazoo.
Just know that if you "hate" things, though, you won't learn as much in life, like I won't learn how to use time travel debugging. Almost anything that gets this popular has at least a few core ideas we should probably learn, or learn from.
The way to reduce the boilerplate is to use a mutable paradigm, but then you lose the simplifications that the immutable paradigm gives you.
We recommend using Immer as the best way to write immutable logic with Redux [1], and our new Redux Toolkit package [2] automatically uses Immer internally to let you write reducers like this:
const reducer = createReducer(initialState, {
updateItem(state, action) {
state.first.second[action.payload.id].fourth = action.payload.value
}
})
[0] https://immerjs.github.io/immer/[1] https://redux.js.org/style-guide/style-guide/#use-immer-for-...
The time saved in both authoring and maintenance pays for itself in learning the standards.
I only said "at least a few core ideas" -- not, "at least a few unique core ideas". Sure there are other places you can learn the same things, which of course doesn't mean that JS is now somehow stripped of that value.
Admittedly this works best on projects that don't require a massively complex interactive front-end, like news sites[0] and data reporting tools. But at some point you can just choose to start hydrating the interactive components in the browser without changing your back-end setup at all.
[0]: https://wildlyinaccurate.com/introducing-a-faster-bbc-news-f...
Really everything is delivering HTML ... and maybe something else.
I was thinking in the simplest form as the person I was responding to seemed to be saying that just to do something ultra basic react was not something they liked.
There's ways to do a lot of things (I swear that is the real sticking point on HN when it comes to react discussions).
But just serving up straight HTML, you could actually use react, but you don't have to do it "just" to do that.
If you're stuck in a spot where you HAVE to use it, that's the fault of whomever decided that, not react.