Settings

Theme

Ask HN: How do you use React as a library in 2024?

1 points by blacksoil 2 years ago · 3 comments · 1 min read


Hi all, With most of the current trend being to use React as a framework (e.g. NextJS), is there anyone here who still uses React as a library? If so, how is your setup?

I'm asking this is because I want to go back to MVC, but I don't want to miss out on the nice libraries out there built for React. Hence I want to combine MVC + React as a library.

acemarke 2 years ago

Can you clarify some terms here?

- What do you mean by "React as a library"? Using it as a pure SPA with a bundler like Vite? Using it as a plain `<script>` tag?

- What do you mean by "go back to MVC"? What does "MVC" mean specifically in this case?

  • blacksoilOP 2 years ago

    - Using it as a plain `<script>` tag?

    Yes.

    - What do you mean by "go back to MVC"? What does "MVC" mean specifically in this case?

    MVC as in Model-View-Controller.

    To give more context, I'm prototyping a lot, and having to create endpoints for every single APIs is quite a chore. Also I want to avoid the overhead of having to run separate server just to host the frontend (e.g. NextJS)

    • acemarke 2 years ago

      I know what "MVC" _stands_ for, but I'm asking what _context_ you mean that in. Are you talking about how to define your server-side data models and endpoints? How you're organizing client-side fetching and caching?

      Normally "MVC" as a concept doesn't get used in the React ecosystem (the way it did with Backbone.js).

      FWIW it's certainly _possible_ to use React as a script tag, but it's extremely rare. It's normally expected that the frontend _is_ actually bundled and compiled, whether it be using a pure-SPA build tool like Vite, or one of the full server-side frameworks like Next or Remix.

      Note that the SPA build output is just a set of static HTML/JS/CSS files, which do not require a separate Node server process for hosting - they can be served by any HTTP server.

      My own advice would be to use Vite and build as an SPA.

      _If_ you absolutely want to use React as _just_ a `<script>` tag with no build step, I'd recommend also using https://github.com/developit/htm to at least give you JSX-like syntax for writing your components.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection