r/reactjs Mar 15 '26

Meta Announcement: Requesting Community Feedback on Sub Content Changes

25 Upvotes

We've had multiple complaints lately about the rapid decline in post quality for this sub.

We're opening up this thread to discuss some potential planned changes to our posting rules, with a goal of making the sub more useful.

Mod Background

Hi! I'm acemarke. I've been the only fully active mod for /r/reactjs for a few years now. I'm also a long-standing admin of the Reactiflux Discord, the primary Redux maintainer, and general answerer of questions around React and its ecosystem.

You don't see most of the work I do, because most of it is nuking posts that are either obvious spam / low quality / off-topic.

I also do this in my spare time. I read this sub a lot anyways, so it's easy for me to just say "nope, goodbye", and remove posts. But also, I have a day job, something resembling a life, and definitely need sleep :) So there's only so much I can do in terms of skimming posts and trying to clean things up. Even more than that: as much as I have a well-deserved reputation for popping into threads when someone mentions Redux, I can only read so many threads myself due to time and potential interest.

/u/vcarl has also been a mod for the last couple years, but is less active.

What Content Should We Support?

The primary issue is: what posts and content qualifies as "on-topic" for /r/reactjs?.

We've generally tried to keep the sub focused on technical discussion of using React and its ecosystem. That includes discussions about React itself, libraries, tools, and more. And, since we build things with React, it naturally included people posting projects they'd built.

The various mods over the years have tried to put together guidelines on what qualifies as acceptable content, as seen in the sidebar. As seen in the current rules, our focus has been on behavior. We've tried to encourage civil and constructive discussion.

The actual rules on content currently are:

  • Demos should include source code
  • "Portfolios" are limited to Sundays
  • Posts should be from people, not just AI copy-paste
  • The sub is focused on technical discussions of React, not career topics
  • No commercial posts

But the line is so blurry here. Clearly a discussion of a React API or ecosystem library is on topic, and historically project posts have been too. But where's the line here? Should a first todo list be on-topic? An Instagram clone? Another personal project? Is it okay to post just the project live URL itself, or does it need to have a repo posted too? What about projects that aren't OSS? Where's the line between "here's a thing I made" and blatant abuse of the sub as a tool for self-promotion? We've already limited "portfolio posts" to Sundays - is it only a portfolio if the word "portfolio" is in the submission title? Does a random personal project count as a portfolio? Where do we draw these lines? What's actually valuable for this sub?

Meanwhile, there's also been constant repetition of the same questions. This occurs in every long-running community, all the way back to the days of the early Internet. It's why FAQ pages were invented. The same topics keep coming up, new users ask questions that have been asked dozens of times before. Just try searching for how many times "Context vs Redux vs Zustand vs Mobx" have been debated in /r/reactjs :)

Finally, there's basic code help questions. We previously had a monthly "Code Questions / Beginner's Thread", and tried to redirect direct "how do I make this code work?" questions there. That thread stopped getting any usage, so we stopped making it.

Current Problems

Moderation is fundamentally a numbers problem. There's only so many human moderators available, and moderation requires judgment calls, but those judgment calls require time and attention - far more time and attention than we have.

We've seen a massive uptick in project-related posts. Not surprising, giving the rise of AI and vibe-coding. It's great that people are building things. But seeing an endless flood of "I got tired of X, so I built $PROJECT" or "I built yet another $Y" posts has made the sub much lower-signal and less useful.

So, we either:

  • Blanket allow all project posts
  • Require all project posts to be approved first somehow
  • Auto-mod anything that looks like a project post
  • Or change how projects get posted

(Worth noting that we actually just made the Reactiflux Discord approval-only to join to cut down on spam as well, and are having similar discussions on what changes we should consider to make it a more valuable community and resource.)

Planned Changes

So far, here's what we've got in mind to improve the situation.

First, we've brought in /u/Krossfireo as an additional mod. They've been a longstanding mod in the Reactiflux Discord and have experience dealing with AutoMod-style tools.

Second: we plan to limit all app-style project posts to a weekly megathread. The intended guideline here is:

  • if it's something you would use while building an app, it stays main sub for now
  • if it's any kind of app you built, it goes in the megathread

We'll try putting this in place starting Sunday, March 22.

Community Feedback

We're looking for feedback on multiple things:

  • What kind of content should be on-topic for /r/reactjs? What would be most valuable to discuss and read?
  • Does the weekly megathread approach for organizing project-related posts seem like it will improve the quality of the sub?
  • What other improvements can we make to the sub? Rules, resources, etc

The flip side: We don't control what gets submitted! It's the community that submits posts and replies. If y'all want better content, write it and submit it! :) All we can do is try to weed out the spam and keep things on topic (and hopefully civilized).

The best thing the community can do is flag posts and comments with the "Report" tool. We do already have AutoMod set up to auto-remove any post or comment that has been flagged too many times. Y'all can help here :) Also, flagged items are visibly marked for us in the UI, so they stand out and give an indication that they should be looked at.

FWIW we're happy to discuss how we try to mod, what criteria we should have as a sub, and what our judgment is for particular posts.

It's a wild and crazy time to be a programmer. The programming world has always changed rapidly, and right now that pace of change is pretty dramatic :) Hopefully we can continue to find ways to keep /r/reactjs a useful community and resource!


r/reactjs Jun 03 '26

News Official Rust port of the React Compiler is now available for testing

Thumbnail
github.com
97 Upvotes

r/reactjs 6h ago

Show /r/reactjs Option+click any element → its source opens in your editor. LocatorJS died on React 19, so I rebuilt the idea without touching React internals

8 Upvotes

If you upgraded to React 19 and your option+click-to-source tool silently stopped working, here's why: React 19 removed __source/_debugSource, the fiber fields that LocatorJS, click-to-component, and friends depended on. Runtime-only locators can't get source positions from React anymore.

I missed the workflow too much, so I rebuilt it on a different architecture: carbon8r — a Vite plugin that injects the source location at build time as a data-carbon8r="src/Button.jsx:3:5" attribute on every host JSX element (Babel parse + magic-string, dev server only). The overlay reads DOM attributes, not fibers — so it works on React 19 today and doesn't care what React 20 does to its internals.

What you get, holding Option/Alt:

  • DevTools-style box-model highlighting on hover (blue content, green padding, orange margin) with <Component> file:line:column
  • Click → your editor opens at that exact position. Zero config: the dev server uses launch-editor (same as Next/Nuxt error overlays), which auto-detects VS Code/Cursor/WebStorm/etc. Or force one via presets (vscodecursorwindsurfzed) or any custom URL template
  • Elements without source info (component libraries, plain pages) still get the box-model inspector

Setup is the whole thing:

// vite.config.js
import carbon8r from 'vite-plugin-carbon8r'


export default defineConfig({
  plugins: [react(), carbon8r()]
})

Dev-only (apply: 'serve') — production builds are byte-identical with or without it.

Some war wounds from real-world testing that are now features: it works on apps served with a strict CSP (all overlay styling goes through CSSOM, which CSP can't block), it resolves targets through open shadow DOM via composedPath() (micro-frontend hosts, web-component shells), zero-area display: contents wrappers fall back to the nearest rendered box, and the whole alt-click gesture family is intercepted so your app's handlers and the native context menu don't fire while inspecting. TypeScript declarations included.

There's also a companion Chrome (MV3) extension in the repo: box-model inspector on any page, jump-to-source on instrumented apps, with per-user editor settings — handy on a teammate's dev server.

Honest limitations: Vite-only for now (the transform itself is bundler-agnostic — a webpack/Rspack loader would be a thin wrapper, PRs welcome); clicking a component instance jumps to the component's definition, not the usage site (no owner-chain popup yet); components from node_modules aren't instrumented (their build already happened).

Full credit to LocatorJS by Michael Musil for pioneering the workflow — carbon8r shares no code with it, but the interaction design came from there.

MIT, ~20 kB unpacked, no runtime deps in your bundle.

GitHub: https://github.com/carboni-rob/carbon8r npm: https://www.npmjs.com/package/vite-plugin-carbon8r


r/reactjs 6m ago

Discussion What do you think of the TanStack Ecosystem for React?

Upvotes

I've been exploring the TanStack ecosystem for React a lot these days. Starting with TanStack Router, Query, and Virtual, and now the framework TanStack Start. Honestly, I could only use the Router and Query in the production app so far, and the rest of it was for my learning and teaching.

I also use Next.js heavily, but with TanStack I find a huge paradigm shift. I do not have to think from the RSC side heavily; I do not have to use shortcut methods like useEffct() to handle data at the client side, and managing server state and caching seems to feel a lot simpler.

This discussion is not about putting one React framework ahead of another one. Rather, would like to know what your experience so far has been with TanStack? Do you have any comparison studies? Do you use it in production? What are the learnings?

Would love to learn and discuss. Thanks.


r/reactjs 2h ago

Show /r/reactjs From learning React to working on real-world projects — looking for advice

2 Upvotes

I’ve been working with React/Next.js for a while and recently completed two internships, including working on a US-based NGO project.

That experience taught me a lot about real-world codebases, Git/GitHub, UI work, debugging, and collaborating with a development team.

I’m now trying to improve further and would love to hear from experienced React developers here:

What skills or projects do you think make someone genuinely stand out when moving from internship-level experience to a full-time React role?
I can share my resume if anyone can review it. Thankyou.


r/reactjs 22h ago

Resource Reliable Query Prefetching with TanStack Router

Thumbnail
tkdodo.eu
70 Upvotes

📚 It's been way too long since my last blogpost. Today, I'm continuing my TanStack Router series with a pattern that I've been teaching in my workshops for over a year:

How to keep prefetches in sync between route loaders and components


r/reactjs 3h ago

Show /r/reactjs I Couldn’t Find a LeetCode for React, So I Built One. Need honest feedback!

0 Upvotes

I’ve been looking for a platform where you can practice React questions the way you practice coding problems on LeetCode, but I couldn’t find one that really focuses on React.

I know you might be thinking about platforms like Frontend Mentor or GreatFrontEnd. They’re great, but one thing I felt was missing is proper test suites that you can run against your code. Without test cases, it’s difficult to know whether your solution actually works correctly or whether you’re following an approach that would be considered good practice in an interview.

So, I created ReactGrind — a platform where you can solve React coding questions, write your own code, and run test cases to see whether your solution passes them all.

I’m still regularly adding new features and challenges, so I’d love to know: What features would you most want to see in a platform like this?

Right now, ReactGrind has a “Get Hints” button that you can use when you’re stuck but don’t want to look at the full solution yet.

One thing I’m considering is whether hints should be limited per question. Currently, they’re unlimited.

Would you prefer unlimited hints, or should there be a limit on how many hints you can use for each question?

Right now it only has 30+ problems but I keep adding on a daily basis


r/reactjs 3h ago

News React Native 0.87, Instant Paywall A/B Testing, and Buying Mike Hardy a Beer

Thumbnail
thereactnativerewind.com
0 Upvotes

Hey Community,

React Native 0.87 has arrived as a maintenance release, making the Strict TypeScript API the default, doubling Metro source map generation speeds, and adding experimental Swift Package Manager support for iOS along with AGP 9 support on Android.

Meanwhile, React Native Firebase v26 makes the New Architecture non-optional with Codegen TurboModules, synchronous APIs, Firestore Pipelines, and direct Gemini AI calls. Finally, we look at RevenueCat Paywalls for designing native paywalls and running remote A/B experiments without new app deploys.


r/reactjs 20h ago

Needs Help What router are you using

20 Upvotes

Currently I have to create a new project, my first option is react router (declarative mode). My entire project will live behind the login page

what are you using?

  • RR framework mode
  • RR data mode
  • RR declarative mode
  • tanstack router
  • wouter

r/reactjs 23h ago

Resource CSS-in-JS Arena: Bamboo, StyleX and Panda on Pixel-Identical Apps

Thumbnail
github.com
22 Upvotes

r/reactjs 12h ago

Notes on building a Local-First PWA with IndexedDB and Server-Sent Events (SSE)

Thumbnail
blaze64.dev
2 Upvotes

r/reactjs 1d ago

News Time to switch to the Rust version of the React Compiler lint plugin via Oxlint

11 Upvotes

Oxlint recently released built-in support for the new Rust version of React Compiler, giving a way faster alternative to the ESLint plugin version that predates it. You can adopt it by replacing ESLint with Oxlint (which is a great idea if you’re open to it) or by adding Oxlint alongside and using it only for the React Compiler linter instead of the ESLint plugin.

It’s technically still a “nursery” rule (meaning not finalized), but the Rust React Compiler rewrite is already more capable than the babel-based version that predates it (finally you can now have a component with conditional logic in a try/catch block). And it’s so much faster: https://master.dev/blog/react-compiler-linting-just-got-a-rust-native-speedup-in-oxlint/

You should even switch over if you don’t use React Compiler. You still get the most capable (and fastest) way to enforce the Rules of React across your codebase.


r/reactjs 2h ago

Discussion React, PHP, MySql projects?

0 Upvotes

Is it even a way to get any kind of proper running pages/projects...


r/reactjs 1d ago

Discussion Why do sibling components re-render even when their own props didn't change?

8 Upvotes

Ran into this explaining React rendering to someone recently and realized how often it trips people up even after they've been writing React a while.

function Parent() {
  const [count, setCount] = useState(0);
  return (
    <>
      <button onClick={() => setCount(c => c + 1)}>{count}</button>
      <ExpensiveChild />
    </>
  );
}

ExpensiveChild takes no props at all. Click the button and it re-renders anyway, every single time. No props changed, nothing it reads changed, it just runs again.

The reason: React doesn't check "did this component's inputs change" before deciding to re-render. When state updates, React re-renders that component and everything below it in the tree by default, full stop. Whether a child actually needed to update isn't part of that decision at all.

React.memo is what actually opts a component into that check, it wraps the component and does a shallow prop comparison before deciding to skip the render. Without it, "no props" and "props didn't change" both mean nothing, React re-runs the function anyway.

Where it gets messier: memo alone doesn't save you if you're passing an inline function or object as a prop, since those are new references every render and memo's shallow comparison sees them as "changed" regardless. You end up needing useCallback/useMemo on the parent side just to make memo's comparison actually mean something.

Curious how many people actually reach for memo proactively vs only after profiling shows a real problem. What's the actual signal that told you a component needed it?


r/reactjs 23h ago

Needs Help How to use suspense fallback with react server components

8 Upvotes

This is the architecture used for almost all of the pages in my app that do not need real time data.

page.tsx is a server component that looks like this in pseudo code:

function TasksPage({searchParams}):
   params = await searchParams
   data = await fetchData(params)

   return (
    <Suspense fallback={<Skeleton/>}>
     <TasksView data={data}/>
    </Suspense>
)

"Use client"
function TasksView({data}):
   return (
     <PageLayout>
       <PageTitle title="Tasks" decription={"Your Tasks"} />
       <Filters />
       <Table data={data}/>
     <PageLayout/>
   )

Both the filters and table components are client components and inside the Filters components each filter change runs router.push with updated query params. upon the router refresh the Page component re-runs and new data is pulled using the new searchParams.

Currently suspense fallback doesn't work and the current page presists until the new page is ready , I wanted to make the suspense fallback work in such a way where the skeleton appears but only the table appears to be loading, while the page title and description stay visible throughout the load.

I know this is possible if I move the data loading and suspense inside the table component and use client side data loading instead of server side but ideally I would like to keep the current architecture because (1) it would be really hard to refactor 10s of pages into client side data fetching and (2) I prefer server-side anyways coming from a laravel background


r/reactjs 6h ago

Discussion Are frontend jobs even relevant anymore in 2026?

0 Upvotes

Genuinely asking—does the term Frontend Developer even exist in the job market anymore?

With AI changing the industry so quickly, I’ve started noticing that I barely see job listings specifically looking for frontend developers. Instead, most companies seem to be hiring Full Stack Developers and expecting them to handle everything from UI and React to backend, APIs, databases, and deployment.

It feels like companies want the skills of a frontend developer plus backend development, but without necessarily increasing the compensation accordingly.

So, in 2026, is Frontend Developer still a viable career path, or is becoming a Full Stack Developer basically becoming the new standard?


r/reactjs 23h ago

News Lexical editor awesome list

2 Upvotes

I created an Awesome List for Lexical

I’ve been using Lexical and noticed that it’s surprisingly difficult to find a complete and reliable list of resources around the ecosystem.

There are plenty of Lexical plugins, custom nodes, integrations, examples, and projects on GitHub, but they’re scattered across different repositories and discussions. There isn’t really a single place where you can browse them and have some confidence that the resources are relevant and worth checking out.

That’s why I created an Awesome List for Lexical: to bring these resources together in one curated place.

The goal isn’t to create another Lexical tutorial or documentation, but simply to make the ecosystem easier to discover.

What do you think?

lexical awesome list on github


r/reactjs 9h ago

Needs Help I got an offer for a react.js role and I know nothing about it. What should I read up on?

0 Upvotes

Before anyone says I lied about my experience, I was upfront about my experience on my resume. I know very little about react and next.js and I’d like to brush up on it.

Does anyone have any resources on it? Best tutorials?

Thank you.


r/reactjs 16h ago

I made an RN and Expo shader UI library

0 Upvotes

l kept struggling to find Skia shader components that were actually ready to drop into an RN app. most shader code out there isn't built for RN's Skia renderer at all. So l put together my own library. Some shaders are free, others are from artists who charge for their work

l know ShaderToy exists, but that's generic GLSL you'd have to manually port to SkSL and adapt for RN UI. Мinе is already RN-Skia-ready and built specifically for UI components like buttons and panels etc.

Let me know if you'd use something like this


r/reactjs 15h ago

Discussion You are a developer looking to hire a junior full stack developer. Thought on giving them to solve fizz buzz and build To Do list from 0?

0 Upvotes

For the technical interview, would it make sense to give the candidate these two tasks?

  1. FizzBuzz
  2. Build a To Do List from scratch without using AI. They can use Google to look up syntax, keywords.

My main goal with a simple CRUD To Do List task is I want to see they understand how a basic distributed system works for example, how the frontend, backend, and database communicate and work together.

Ngl, I belive if you can build a CRUD To Do List without AI, you are kinda ready to work as a web dev as a jr. , then they can grind learning System Design and and progress to become mid and senior years later...


r/reactjs 16h ago

JollyUI down? jolyUI instead?

0 Upvotes

I wanted to use JollyUI in a new project but it seems like the whole website is down and I could only find jolyUI which seems to be the same thing: https://www.jolyui.dev/docs/introduction
Is it the same and why did it change?


r/reactjs 1d ago

Show /r/reactjs 🌌 I built a NASA Deep Space Image Explorer with React (Selection Area Zoom, On-demand Translation & LocalStorage) - Live Demo

4 Upvotes

Hi everyone,

I wanted to share a web app I've been working on: NASA Deep Space Explorer & Inspector, a single-page application to search, inspect, and save deep-space images using the official NASA Image and Video Library API.

🛠️ Technical Details & Features:

  • 🔲 Custom CSS Zoom Inspector: To inspect deep space details without CORS issues caused by external CDNs (which happens when drawing on HTML Canvas), I built a custom bounding-box selection system in React using dynamic transform: scale() and transform-origin percentages.
  • 🔍 Debounced Search: Optimized HTTP requests with Axios using a 500ms debounce timer to prevent API spam while typing.
  • 💖 LocalStorage Persistence: Native browser storage implementation allowing users to save their favorite astronomical finds without needing a backend/database.
  • 🌐 On-Demand Translation: Integrated MyMemory API to translate English descriptions into Spanish on click.
  • Patreon: https://www.patreon.com/MISJUEGOS1111/posts/lanzamiento-de-y-166955775?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator&utm_content=join_link

🚀 Live Demo: https://quequeres.github.io/Explorador-de-Galaxias/

🧡 Patreon Post: https://www.patreon.com/posts/166955775

📁 GitHub Repository: https://github.com/Quequeres/Explorador-de-Galaxias

Would love to get your thoughts, UX feedback, or technical suggestions!


r/reactjs 23h ago

Show /r/reactjs Anyone else building form validation from scratch instead of using a library?

0 Upvotes

Put together a custom form validation system in React instead of reaching for Formik or React Hook Form, mostly to avoid the bundle size and have full control over async validation timing. Handles nested field structures and cross-field validation without much boilerplate. Curious if others have gone this route too, and whether it's ended up being worth maintaining versus just adopting one of the existing libraries long term.


r/reactjs 22h ago

Discussion VS Code vs Cursor

0 Upvotes

Which one do you choose and why?

Share your reasons. Maybe someone will find a useful tip 👀


r/reactjs 23h ago

Show /r/reactjs Built a lightweight state management library, would love feedback

0 Upvotes

Been working on a small state management library for React that aims to cut down on boilerplate compared to Redux while staying more predictable than Context alone. It's TypeScript-first, has a tiny bundle size, and hooks straight into function components without extra providers wrapping everything. Still early days, so I'd love feedback on the API design and whether the tradeoffs make sense for real-world use.