Hacker News new | ask | show | jobs
by hbrn 274 days ago
> React feels natural because it never asks you to stop writing JavaScript

I want to increment some counter on the webpage. Which approach feels natural?

  increment = () => {
    this.setState((prevState) => ({ count: prevState.count + 1 }));
  };

  const increment = () => setCount((count) => count + 1);

  function increment() {
    count += 1;
  }
No one wakes up saying "please let me mutate simple state with function calls".
2 comments

The third example is missing the data binding that you get automatically with React. It should look more like this:

   function increment() {
     count += 1;
     dispatchEvent(new CustomEvent(
       "count-incremented", 
       { detail: { count } }
     ));
   }
I think I prefer not having to manage events all over the place.
Third example was supposed to be Svelte.

Vue also isn't too far:

  function increment() {
    count.value += 1
  }
In 2025, React state management is complete shitshow compared to Svelte and Vue.

How in the world people are claiming "React is just Javascript" is beyond me.

Haskell devs do ;)