Skip to main content
Full Stack Radio

114: Sebastian De Deyne - React for Vue Developers

64 min episode · 2 min read
·
Sebastian De Deyne

Episode

64 min

Read time

2 min

Topics

Investing, Fundraising & VC, Software Development

AI-Generated Summary

Key Takeaways

  • Framework Philosophy: React optimizes for simplicity with minimal API surface (props and components), while Vue optimizes for ease with specialized features like computed properties, methods, and data sections. React requires more JavaScript knowledge but less framework-specific learning compared to Vue's configuration-based approach.
  • Computed Properties Implementation: React handles computed values through plain JavaScript variables for simple cases or the useMemo hook for performance optimization. Unlike Vue's automatic dependency tracking, React requires explicit dependency arrays, making the computation logic visible and controllable rather than magical behind-the-scenes reactivity.
  • Events as Props Pattern: React eliminates custom events entirely by passing callback functions as props prefixed with "on" (onClick, onChange). This collapses Vue's three separate concepts (props, events, slots) into one unified prop system, reducing framework-specific knowledge while maintaining identical functionality through standard JavaScript patterns.
  • Slots via Children Prop: React passes default slot content through a children prop automatically, handles named slots by passing JSX directly in props, and implements scoped slots using functions that return JSX. This approach makes lazy evaluation explicit rather than hidden behind Vue's slot scope attribute syntax.
  • Renderless Component Ecosystem: React's ecosystem emphasizes renderless component libraries that provide logic without opinionated styling, giving developers total control. Vue lacks equivalent libraries because building renderless components requires writing render functions with the h function, which contradicts Vue's template-first philosophy and remains unfamiliar to most developers.

What It Covers

Sebastian De Deyne explains React concepts from a Vue developer perspective, comparing framework philosophies, implementation patterns for computed properties, events, slots, and transitions, while highlighting React's simpler API surface area versus Vue's feature-rich approach.

Key Questions Answered

  • Framework Philosophy: React optimizes for simplicity with minimal API surface (props and components), while Vue optimizes for ease with specialized features like computed properties, methods, and data sections. React requires more JavaScript knowledge but less framework-specific learning compared to Vue's configuration-based approach.
  • Computed Properties Implementation: React handles computed values through plain JavaScript variables for simple cases or the useMemo hook for performance optimization. Unlike Vue's automatic dependency tracking, React requires explicit dependency arrays, making the computation logic visible and controllable rather than magical behind-the-scenes reactivity.
  • Events as Props Pattern: React eliminates custom events entirely by passing callback functions as props prefixed with "on" (onClick, onChange). This collapses Vue's three separate concepts (props, events, slots) into one unified prop system, reducing framework-specific knowledge while maintaining identical functionality through standard JavaScript patterns.
  • Slots via Children Prop: React passes default slot content through a children prop automatically, handles named slots by passing JSX directly in props, and implements scoped slots using functions that return JSX. This approach makes lazy evaluation explicit rather than hidden behind Vue's slot scope attribute syntax.
  • Renderless Component Ecosystem: React's ecosystem emphasizes renderless component libraries that provide logic without opinionated styling, giving developers total control. Vue lacks equivalent libraries because building renderless components requires writing render functions with the h function, which contradicts Vue's template-first philosophy and remains unfamiliar to most developers.

Notable Moment

Sebastian reveals solving a Vue lazy evaluation bug by adding an empty slot scope attribute to force function-based rendering, demonstrating how Vue's template abstraction creates unintuitive workarounds that would be explicit and obvious in React's function-based approach where everything visible is JavaScript.

Know someone who'd find this useful?

Episode Transcript

In this episode of Fullstack Radio, I talked to Sebastian Dedenne about learning react from the perspective of a view developer. This is Fullstack Radio episode 114. Hey, everyone. Welcome to another episode of the Full Stack Radio podcast. I'm your host, Adam Wathan. And today, it's my pleasure to be joined by Sebastian Dedain. How's it going, Sebastian? Hi. Great. How are you? Good. For anyone who isn't familiar with you, do you mind, just briefly introducing yourself and talking a little bit about what you do? So I'm Sebastian. I work at Spasi, which you might, have heard of from our Laravel packages mostly. I used to be a back end developer there, but now I'm actually mostly focusing on front end things. Awesome. Yeah. So the reason I wanted to have you on the show is because, you you put out a blog post recently, sort of about your transition, I guess, from Vue to React and some of the things that you like about React, coming from Vue, things that kind of feel nicer to you. And I think there's a a lot of people out there who kind of get really comfortable with a tool, and I'm an example of that. For example, like, I'm really productive and comfortable with Laravel. So as a result, it's hard for me to invest time into learning other tools that try to solve the same problem. For example, like, I've always wanted to learn Phoenix and Elixir but it's hard to justify it because I know I'm gonna be so much slower than I would be in Laravel. And I think there's a lot of people out there who sort of learned Vue first, and like Vue and are really happy with Vue, but are still sort of intrigued by React and wanna learn more about it, but can't really justify dumping a ton of time into into learning about it. So, since you have a lot of experience with Vue and now you're sort of, deep in the React world too, I thought it'd be cool to have a conversation about what some of the differences are between, React and Vue, what sort of drew you to React and what you kind of like about it, and just sort of, you know, talk about some of the concepts in React, from a perspective that Vue developers are going to be able to understand so we can learn a little bit more about what it's like working, in that environment. How does that sound to you? Yeah. Cool. So I think maybe my first question for you would be, like, when did you, get started with Vue? Well, actually, really, really early on before it caught on, I actually used Vue for a for a school project. I think that was in, like, 2015 or something. Yeah. That was, like, zero point eight, I think, when they started. But I didn't I wasn't really that good of a …

Get the full transcript (11,583 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all Full Stack Radio transcripts →

You just read a 3-minute summary of a 61-minute episode.

Get Full Stack Radio summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

More from Full Stack Radio

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's Investing & Markets Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into Full Stack Radio.

Every Monday, we deliver AI summaries of the latest episodes from Full Stack Radio and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime