RRU 027: "Why I Prefer Functional Components" with Josh St. Jacque




React Round Up show

Summary: <p><strong>Panel: </strong></p> <ul> <li>Charles Max Wood</li> <li>Nader Dabit</li> </ul> <p><strong>Special Guests:</strong> Josh Saint Jacque </p> <p>In this episode, the panel talks with Josh St. Jacque who is married with two kids and with one on the way. He is a professional product manager and software engineer. <a href="https://rubyonrails.org">Ruby on Rails</a> got him started on his career path and journey. Check-out today’s episode where the panel discusses functional and class components, among many other things!</p> <p><strong>Show Topics:</strong></p> <p>2:12 – Let’s have a conversation about functional components.</p> <p>3:20 – Chuck to Nader: “What is your preference between class and functional components?”</p> <p>4:18 – Nader to Josh: “What is your take on pure components”</p> <p>5:20 – Who makes these architectural decisions at <a href="https://www.t-mobile.com">T-Mobile</a>?</p> <p>5:46 – Josh: It really depends on the team and the project depending on how they want to proceed. Josh mentions <a href="https://angular.io/guide/quickstart">Angular</a> among other things.</p> <p>7:38 – Chuck to Josh: It seems that through your post you are trying to make code easier?</p> <p>8:01 – Josh’s background is <a href="https://rubyonrails.org">Ruby</a>, and basic principles.</p> <p>9:12 – Question directed to Josh about components.</p> <p>11:05 – Functional components.</p> <p>11:35 – Some say that functional components are faster/slower than others.</p> <p>12:50 – When do you know you need/do not need a functional component?</p> <p>13:15 Josh uses functional component as his default but, of course, there are different factors for him to consider. The presentational stuff is separated. Sometimes he does convert it over.</p> <p>14:21 – Let’s talk through the log post.</p> <p>18:15 – <a href="https://medium.com/@joshsaintjacque/small-functions-considered-awesome-c95b3fd1812f">Digital Ocean’s</a> mid-roll advertisement!</p> <p>20:58 – The panel talks about pros and cons of the different components. </p> <p>21:33 – <a href="https://rubyonrails.org">Ruby on Rails</a></p> <p>22:06 – “Why aren’t you using...?” I understand what the tradeoffs are and will change when that time comes.</p> <p>23:03 – Is there a certain thing that you would tell them about React applications? Is it more just best practice and it doesn’t really change their learning of the framework?</p> <p>23:28 – Whenever you get comfortable then start exploring another pattern. When you get really comfortable, then you might never see the tradeoffs by using other options. It’s good for a developer to always be open-minded. Keep yourself uncomfortable, and don’t have just one tool in your belt. Try functional components just to keep it fresh.</p> <p>25:00 – Josh answers a question from Chuck.</p> <p>27:00 – Josh talks about things to avoid, etc.</p> <p>27:42 – Nader: “Have you seen the new features and possibly the new features that will be added on later?”</p> <p>28:01 – Josh has started using new features and he talks about the pros and cons of these. </p> <p>29:55 – Chuck to Josh: “Are there any features to the components that you wish they would add?”</p> <p>30:08 – Josh: I never really have run into anything, yet, that is too frustrating. I really like that it is a little limited, and no real big complaints. I would imagine that there are good components around function.</p> <p>31:42 – Nader to Josh: “Any other topics?”</p> <p>31:54 – One thing Josh would like to say is that you and your team are on the same page. You don’t want to get into fights on what style you are using. You don’t want to constantly be changing the code. Use one thing at a time or it will get real messy too quick. One example of this is from Ruby: <a href="http://ruby-for-beginners.rubymonstas.org/built_in_classes/hashes.html">hash rockets.</a></p> <p>33:35 – How to find Josh online...look at links below!</p> <p><strong>Links:</strong></p> <ul> <li><a href="https://www.telerik.com/kendo-ui?utm_medium=social-paid&amp;utm_source=devchattv&amp;utm_campaign=kendo-ui-awareness-jsjabber">Kendo UI</a></li> <li><a href="https://rubyonrails.org">Ruby on Rails</a></li> <li><a href="https://www.linkedin.com/in/josh-saint-jacque-61208a17">Josh St. Jacque’s LinkedIn</a></li> <li><a href="https://medium.com/@joshsaintjacque">Josh St. Jacque’s Medium</a></li> <li><a href="https://github.com/joshsaintjacque">Josh St. Jacque’s GitHub</a></li> <li><a href="https://medium.com/@joshsaintjacque/small-functions-considered-awesome-c95b3fd1812f">Josh St. Jacque’s Article on Medium</a></li> <li><a href="https://www.t-mobile.com">T-Mobile</a></li> <li><a href="https://angular.io/guide/quickstart">Angular</a></li> <li><a href="https://devchat.tv/get-a-coder-job/">Get A Coder Job</a></li> </ul> <p><strong>Sponsors:</strong></p> <ul> <li><a href="https://www.telerik.com/kendo-ui?utm_medium=social-paid&amp;utm_source=devchattv&amp;utm_campaign=kendo-ui-awareness-jsjabber">Kendo UI</a></li> <li><a href="https://sentry.io/welcome/">Sentry</a></li> <li><a href="https://www.digitalocean.com/">Digital Ocean </a></li> <li><a href="https://devchat.tv/get-a-coder-job/">Get A Coder Job</a></li> </ul> <p><strong>Picks:</strong></p> <p>*Charles</p> <ul> <li><a href="https://www.frameworksummit.com">Conference in October (UT) Frameworks Summit</a></li> <li><a href="https://podcastmovement.com">Podcast Movement</a></li> <li><a href="https://www.google.com/search?client=safari&amp;rls=en&amp;q=CES+in+january&amp;ie=UTF-8&amp;oe=UTF-8">CES</a></li> <li><a href="https://www.google.com/search?client=safari&amp;rls=en&amp;q=home+depot+tool+rental&amp;ie=UTF-8&amp;oe=UTF-8">Home Depot Tool Rental</a></li> </ul> <p>*Nader</p> <ul> <li><a href="https://bendyworks.com/blog/tale-of-four-components">“A Tale of Four Components” by Pearl Latteier</a></li> <li>Nader’s Blog</li> </ul> <p>*Josh</p> <ul> <li><a href="https://www.theverge.com/2016/8/12/12450594/spotify-video-gaming-playlists">Video Game Soundtracks – Spotify</a></li> <li><a href="https://code.visualstudio.com/blogs/2017/02/12/code-lens-roundup">VS Code Extension</a></li> <li>Weight Loss – Ice Cream – <a href="https://eatenlightened.com/collections/high-protein-low-sugar-ice-cream-pints?utm_source=bing&amp;utm_medium=cpc&amp;utm_campaign=sem&amp;ads_cmpid=652260230&amp;ads_adid=47222708105&amp;ads_matchtype=b&amp;ads_network=g&amp;ads_creative=255135686341&amp;utm_term=%252Benlightenment%2520%252Bice%2520%252Bcream&amp;ads_targetid=kwd-318302195649&amp;utm_campaign=&amp;utm_source=adwords&amp;utm_medium=ppc&amp;ttv=2&amp;gclid=EAIaIQobChMI5_b4rP2k3QIVwrrACh00eQGhEAAYASAAEgJUg_D_BwE">Enlightened</a> </li> </ul>