Yet another library just dropped, and if you're a React developer you need to know... `fate` is a modern data client for React & tRPC that aims to solve data fetching properly. • fate was released on December 9, 2025 by Christoph Nakazawa, a former React team member. • fate is inspired by Relay and GraphQL • fate focuses on making data fetching and state management more composable, declarative, and predictable • 🎑 In fate, components declare their data requirements using co-located "views" • ⚛️ fate uses modern Async React features like Actions, Suspense, and `use` • 🥽 fate prevents accidental coupling and overfetching by enforcing strict data selection per view, masking any data a component didn’t request • ✨ fate is AI-Ready This is the beauty of the JavaScript ecosystem: multiple tools exist to solve the same problem, each with a different philosophy. Would you give fate a try in your new project? #javascript #react #reactjs
React Developer's New Data Client: Fate Released
More Relevant Posts
-
🚀 Day 5 – Backend Journey | Handling URLs in Node.js 🔥 Today was all about UNDERSTANDING how the web actually works 🌐💥 I learned how to handle URLs in Node.js without any framework — pure core concepts 💪 ✨ What I explored today: 🔹 Parsed URLs using url.parse(req.url, true) 🔹 Used pathname for routing (/, /about) 🔹 Extracted query parameters from URL 🔹 Built dynamic responses like: /about?myname=Faiz ➡️ Output: Hi, Faiz 😎 🔹 Logged every request using fs.appendFile() 🔹 Learned why browsers send /favicon.ico requests 🔹 Realized how frameworks like Express.js work internally 💡 Day by day, concepts are getting clearer. Less shortcuts, more fundamentals 💯 Backend grind is ON 🔥 Day 5 DONE ✅ #NodeJS #BackendJourney #Day5 #JavaScript #WebDevelopment #LearningByBuilding #MERN #100DaysOfCode 🚀
To view or add a comment, sign in
-
-
React 19 `use` React 19’s new `use` API fixes one of the most annoying parts of React: async data. **Before (`useEffect` + state):** - Fetch in `useEffect` - Manage `loading` / `error` / `data` manually - Lots of boilerplate and edge cases **Now (React 19 `use`):** - “Unwrap” async data directly in the component - Let Suspense handle loading states - Way less glue code, more focus on UI In simple terms: > Before: “Fetch, track 3 states, then render.” > Now: “Give me the data; if it’s not ready, suspend.” I’ve been using React for ~3 years, and this is the first time async in React feels truly **built-in**, not hacked on. Are you still using `useEffect` for most data fetching, or planning to try `use` in React 19? #React #ReactJS #React19 #JavaScript #TypeScript #Frontend #FrontendDevelopment #WebDevelopment
To view or add a comment, sign in
-
⚙️ A Small Node.js Change That Improves Performance Instantly Many Node.js apps accidentally slow themselves down by running independent async tasks one after another. // ❌ Sequential execution async function loadDashboard() { const user = await getUser(); const notifications = await getNotifications(); const messages = await getMessages(); } These calls don’t depend on each other — so why wait? // ✅ Parallel execution async function loadDashboard() { const [user, notifications, messages] = await Promise.all([ getUser(), getNotifications(), getMessages() ]); } 🔥 Faster response time 🧠 Cleaner logic 📈 Better scalability Understanding how the event loop and promises work is what separates okay Node.js code from production-ready code. What’s one Node.js optimization you wish you learned earlier? 👇 #NodeJS #JavaScript #Performance #AsyncProgramming #BackendEngineering #CleanCode
To view or add a comment, sign in
-
-
Stop using JSON.parse(JSON.stringify(obj)) for deep copy. It’s lazy. It’s outdated. And it breaks your data. Yes, it’s the first StackOverflow answer everyone memorized. Yes, we’ve all used it. No, that doesn’t make it correct. const copy = JSON.parse(JSON.stringify(original)); This silently damages your application: ❌ Date objects turn into strings ❌ undefined, functions, Map, Set disappear ❌ Circular references crash your app ❌ You lose types without even noticing If this is still in your production code, your bugs are just waiting for the right moment. Modern JavaScript already solved this: const copy = structuredClone(original); ✔ Preserves Dates ✔ Handles circular references ✔ Doesn’t drop values ✔ Built into modern browsers & Node.js Stop copy-pasting bad patterns. Start writing code that won’t betray you later. If you’re a React / JS dev and still using the JSON hack — you’re creating tech debt, not solutions. #JavaScript #ReactJS #Frontend #WebDevelopment #CleanCode #TechDebt
To view or add a comment, sign in
-
One Habit of React that is Beneficial to All of Your Projects I did not learn this from a tutorial. I learned it through fixing the same bugs repeatedly. Before writing JSX, design your data flow. Now, prior to touching any UI, I first ask : Where does the data originate from? What is the data owner? Who requires the data? How often does the data change? When the data flow is well defined, the following occurs: Components will be smaller, state management will be easier, less bugs will result from the smaller component size. For example, I have discovered that most of the React issues I faced were not UI related. Most issues are data/state related. Since using this method of designing the application, it has allowed me to maintain all of my projects easily, even many months after developing them. A very simple practice, with a great deal of benefit. Share your experience with any React habits you have, and how they have helped in the building of your applications? #ReactJS #FrontendDevelopment #JavaScript #WebDevelopment #DeveloperTips #CleanCode #SoftwareEngineering #DeveloperLife
To view or add a comment, sign in
-
-
What I’m Doing as a Developer to Prevent This Going Forward Here’s how I’m approaching this as a developer — not just reacting to one CVE, but changing habits: Immediate actions: * Upgraded React & framework versions * Audited where Server Components are actually needed * Reduced server logic inside “convenient” components Long-term mindset shift: * Treat Server Components like backend code * Assume any serialized input is untrusted * Keep dependencies updated, not “when there’s time” * Add security review to architecture decisions, not just features This CVE wasn’t about React being “bad.” It was about how powerful abstractions come with real risks. As developers, our job now isn’t just to build fast —it’s to build secure by default. #ReactServerComponents #NextJS #JavaScript #NodeJS #WebArchitecture
To view or add a comment, sign in
-
A JavaScript production issue I don’t see discussed enough: async work outliving the request. In a Node backend, I had an endpoint doing async enrichment after responding: app.post("/event", async (req, res) => { res.send("ok"); await sendToAnalytics(req.body); await updateSearchIndex(req.body); }); Looks fine. Works locally. Then production load hits. Requests start piling up. Memory usage creeps up. Shutdowns hang. Why? Because the request lifecycle ended, but the async work didn’t. Nothing was cancelable. Nothing was bounded. Errors had nowhere to go. The fix wasn’t “await less”. We moved async side effects behind a job boundary: push work to a queue enforce retries + timeouts make jobs idempotent allow graceful shutdowns Now the request path is fast and predictable, and background work is observable. JavaScript makes it easy to start async work. Production systems demand you control when it stops. #JavaScript #NodeJS #BackendEngineering #ProductionBugs #DistributedSystems #WebDevelopment #EngineeringLessons
To view or add a comment, sign in
-
📌 How React’s Virtual DOM Works (Visual Explanation) This diagram explains why React is fast. 🔄 What’s happening here? When the state changes in a React application: 1️⃣ Virtual DOM is updated React creates a new Virtual DOM tree (shown at the top). 2️⃣ Diffing Algorithm runs React compares the previous Virtual DOM with the new one It finds only the nodes that changed (highlighted in red). 3️⃣ Efficient Re-rendering Only those changed nodes are updated in the real Browser DOM No full page reload Minimal DOM operations. Why Virtual DOM is Important Faster UI updates Better performance Smooth user experience Ideal for large-scale applications. MERN Stack Connection MongoDB – stores data Express & Node.js – backend logic React – updates UI using Virtual DOM Browser DOM – updates only what’s necessary. This optimization is one of the core reasons React is used in the MERN stack. #ReactJS #VirtualDOM #MERNStack #WebDevelopment #JavaScript #FrontendDevelopment #Learning
To view or add a comment, sign in
-
-
Hard truth: frameworks change, fundamentals don’t. In the last few years, I’ve seen developers jump from one framework to another, hoping the next one will be the “final answer.” It never is. React evolves. Next.js changes. New libraries appear. Old ones fade. But the developers who stay relevant are not the ones chasing every trend. They are the ones who deeply understand: * JavaScript fundamentals * How the browser works * State, data flow, and component design * Clean architecture and separation of concerns * Problem-solving over syntax memorization When you understand fundamentals, learning a new framework becomes faster and less stressful. When you don’t, every update feels like starting from zero. Frameworks are tools. Fundamentals are leverage. If you’re feeling stuck or overwhelmed, step back and strengthen the basics. That’s what compounds over time. #WebDevelopment #JavaScript #ReactJS #SoftwareEngineering #MERNStack #FrontendDeveloper #CareerGrowth
To view or add a comment, sign in
-
-
TypeScript: "The Contract" Mindset Writing advanced TypeScript isn’t just about knowing more keywords; it is about changing your relationship with the compiler. To build truly resilient apps, you need to move beyond Interfaces and start building Contracts. Unlike a passive interface, a Contract is an active enforcement mechanism. It bridges the gap between the Runtime World (raw JS) and the Static World (TS Types). Why use them? ✅ Delete "Defensive" Code: Stop sprinkling if (user && user.id) everywhere. ✅ Front-load Logic: Verify data once at the entry point and trust it everywhere else. ✅ Eliminate Type Lies: Stop using as Type and start actually proving your types are real. I’ve broken down the 3 most powerful patterns—is, asserts, and satisfies—to help you sign better contracts with your compiler. Check out the full deep dive here: https://lnkd.in/dPFDVP-K #TypeScript #SoftwareArchitecture #ReactJS #WebDevelopment
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
📌 http://fate.technology