June 9th, 2021 × #react#typescript#graphql#cms
Potluck - Immutability × Turning Off Your Brain × Types vs Interfaces × Hooks vs Components × Making the Most of Your First Job × Confidence in Svelte × More!
Wes and Scott answer audience questions about React, TypeScript, problem solving, first jobs, Svelte, sleep habits, CMS tools, caching, scaffolding generators, spice organization, and stainless steel blender bottles.
It's another Potluck! In this episode, Scott and Wes answer your questions about immutability, turning off your brain, managing copy on a website, problem-solving, types vs interfaces, hooks vs components, and more!
Freshbooks - Sponsor
Get a 30 day free trial of Freshbooks at freshbooks.com/syntax and put SYNTAX in the "How did you hear about us?" section.
LogRocket - Sponsor
LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It's an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.
Cloudinary - Sponsor
Cloudinary is the best way to manage images and videos in the cloud. Edit and transform for any use case, from performance to personalization, using Cloudinary’s APIs, SDKs, widgets, and integrations.
Show Notes
01:24 - I'm finally getting onboard with the GraphQL train and have a specific question about nomenclature. Having worked with redux in the past, IMMUTABILITY was a concept ingrained in my head. I continue to see benefits of immutable updates across all sorts of libraries, frameworks, vanilla js, etc. Learning about GraphQL now, I'm taken aback by the fact that CUD (create, update, delete) operations are called MUTATIONS. Is there a reason that we use the "mutation" terminology, despite the fact that best practices dictate that we should implement immutable updates to objects? Does GraphQL actually mutate objects behind the scenes?
06:38 - How do you sleep at night?!? I mean, how do you switch off your brain when you're trying to go to sleep and your brain just wants to keep on coding?
12:15 - How do you manage copy and microcopy on a site? Should you put every piece of text across the entire site into a CMS so the client can change it? Or just the parts you think may be updated in the future? Or do you just hard-code everything directly into the markup? Or collect it all into an importable JSON file?
21:41 - I am new to using CMSs and I was wondering for applications that require a lot of content management where a CMS or headless CMS such as Contentful is ideal but also requires dynamic queries such as recommended content to the end-user based on browsing history. How do you approach integrating the user data in combination with the data being received and handled from the CMS? A separate API and database? Or is this a scenario that a CMS doesn't fit?
25:56 - When solving a problem, do you do it through trial and error? Or do you carefully think through every solution and choose the best one before actually implementing it into code?
28:14 - How can we take advantage of this new partnership between 1Password + SecretHub! I feel like this is getting into DotEnv but sounds so much more interesting.
32:34 - When creating types in TypeScript, when should someone use a type over an interface? While I generally understand the differences, it seems like interfaces offer more flexibility. I am struggling to understand why I would ever use a type.
36:34 - I've recently started using TypeScript in React, and typically I'm just using function components. I've seen some people saying that classes are really great with TypeScript in React but I haven't found any real use case/benefits myself yet. How about you guys, do you use classes in React/TypeScript?
38:17 - What are your opinions on generators like Yeoman?
44:26 - I've been looking for a career in web for a couple of years now and I've recently landed a job with a small agency getting paid hourly making WordPress websites, that I'll be starting in two weeks. I'm worried that I'm going to get stuck pushing Divi sites all the time. I know this is a good opportunity for me but I was hoping you guys can shed some light and give me some tips on how I can put my skills to good use.
48:35 - What are your approaches for caching a GraphQl API?
52:30 - You mentioned in an earlier Potluck that Svelte is probably the easiest framework to learn. How confident can one be to start a new project with Svelte? Being a technical lead, can I propose our team to work with Svelte? Are there enough material/solution on the web and is the community established?
Links
- ZMA Supplement
- Tina
- https://twitter.com/gusfune/status/1372243283758419977
- 1Password
- SecretHub
- TypeScript
- Syntax 348: TypeScript Fundamentals — Getting a Bit Deeper
- Syntax 042: Potluck EP × Vue.js × Headless WP × Typescript & Flow × Productivity × Server Side Rendering × Yeoman
- https://www.npmjs.com/package/zx
- Yeoman
- Mercurius
- Apollo
- Svelte
××× SIIIIICK ××× PIIIICKS ×××
- Scott: Contigo Shake & Go
- Wes: Deli Containers
Shameless Plugs
- Scott:
- 1: Become a Level Up Tutorials Author
- 2: Level Up Tutorials Pro Spring Sale - 50% off annual subscriptions!
- Wes: All Courses - Use the coupon code 'Syntax' for $10 off!
Tweet us your tasty treats!
- Scott's Instagram
- LevelUpTutorials Instagram
- Wes' Instagram
- Wes' Twitter
- Wes' Facebook
- Scott's Twitter
- Make sure to include @SyntaxFM in your tweets