<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lauren Beatty</title>
    <description>The latest articles on DEV Community by Lauren Beatty (@laurenmbeatty).</description>
    <link>https://dev.to/laurenmbeatty</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F476705%2Fb1ce2446-34ec-4047-ace6-474d2eca217f.jpeg</url>
      <title>DEV Community: Lauren Beatty</title>
      <link>https://dev.to/laurenmbeatty</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/laurenmbeatty"/>
    <language>en</language>
    <item>
      <title>The Collab Lab TCL-30 Wrap-up: Fly to Me Edition!</title>
      <dc:creator>Lauren Beatty</dc:creator>
      <pubDate>Sun, 05 Sep 2021 17:43:26 +0000</pubDate>
      <link>https://dev.to/the-collab-lab/the-collab-lab-tcl-30-wrap-up-fly-to-me-edition-2cdm</link>
      <guid>https://dev.to/the-collab-lab/the-collab-lab-tcl-30-wrap-up-fly-to-me-edition-2cdm</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhwfpq2817zwt6raqp49.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhwfpq2817zwt6raqp49.jpg" alt="TCL 30 in their first Weekly meeting"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Developers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/alejandromcocarojas/" rel="noopener noreferrer"&gt;Alejandro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/jessicawoudsma/" rel="noopener noreferrer"&gt;Jessica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/katia-utochkina/" rel="noopener noreferrer"&gt;Katia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/meganmckissack" rel="noopener noreferrer"&gt;Megan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Mentors
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/andrewhedges" rel="noopener noreferrer"&gt;Andrew&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/lmbeatty/" rel="noopener noreferrer"&gt;Lauren&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Code of Conduct Responder
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/therealstacie/" rel="noopener noreferrer"&gt;Stacie&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Dream Team
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://the-collab-lab.codes/" rel="noopener noreferrer"&gt;The Collab Lab&lt;/a&gt; is all about learning and understanding how our different strengths combine together to create unstoppable teams. Each member of the development team brought their strengths. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Alejandro&lt;/strong&gt;: Tremendous skill and humility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jessica&lt;/strong&gt;: Attention to detail and organization. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Katia&lt;/strong&gt;: Exacting standards and amazing technical skill.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Megan&lt;/strong&gt;: Professionalism, poise and a remarkable grown mindset.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They worked together to build &lt;a href="https://tcl-30-whats-near-me-d2e34.web.app/" rel="noopener noreferrer"&gt;a progressive web app (PWA) that shows you nearby Wikipedia entries&lt;/a&gt;. You can share your location and the app displays a Google Map that highlights points of interest near you as you explore! &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;View&lt;/th&gt;
&lt;th&gt;Image&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Map View&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.zappy.app%2F2c9819659b414cd7bab0ca6142053459.png" alt="Map View"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;List View&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.zappy.app%2F19e8c407cc9aba3c233252bb6d9499e5.png" alt="List View"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Help View&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.zappy.app%2F736211328898b6c7bbec27be602d58cd.png" alt="Help View"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Settings View&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.zappy.app%2F731d355f686185f841cff300ac90ba7c.png" alt="Settings View"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Advanced Project
&lt;/h2&gt;

&lt;p&gt;TCL-30 marked our 3rd time running the “advanced” project. What makes it advanced? Compared to the smart shopping list project that all Collabies participate in, this one more closely simulates a real-world project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issues on the project board vary in size. Some take as little as a day. Some span multiple weeks.&lt;/li&gt;
&lt;li&gt;We use Jira, a common project management system used in software organizations. If you haven’t used Jira before, it has its own learning curve!&lt;/li&gt;
&lt;li&gt;Developers on the project have multiple points through the course of the project where they get to choose their own adventure by setting priority of various features.&lt;/li&gt;
&lt;li&gt;The stories on the project board are considered more of a starting point for discussion than a fixed set of features with well-defined acceptance criteria.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, the app itself is a bit more complicated than the shopping list app. It requires managing a lot of asynchronous state, which can get pretty mind-bendy!&lt;/p&gt;

&lt;p&gt;Mentors Andrew and Lauren were impressed by the team’s dedication to code standards, openness to learning new technologies and approaches, and thoughtful, respectful code review. &lt;/p&gt;

&lt;p&gt;With their technical and collaboration skills, each of these developers would make an immediate positive impact on your team.&lt;/p&gt;

&lt;p&gt;So hire them! 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>collablab</category>
      <category>earlycareerdevelopers</category>
    </item>
    <item>
      <title>React Deep Dive: Element vs. Component</title>
      <dc:creator>Lauren Beatty</dc:creator>
      <pubDate>Sun, 07 Feb 2021 16:53:03 +0000</pubDate>
      <link>https://dev.to/laurenmbeatty/react-deep-dive-element-vs-component-3ep1</link>
      <guid>https://dev.to/laurenmbeatty/react-deep-dive-element-vs-component-3ep1</guid>
      <description>&lt;p&gt;This year, I'm reading through the React docs and &lt;a href="https://dev.to/laurenmbeatty/react-deep-dive-153e"&gt;taking notes as I go&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  React Element
&lt;/h2&gt;

&lt;p&gt;A React Element is an object representation of a &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction"&gt;DOM&lt;/a&gt; node. It is a plain old object, and not an actual DOM element. In essence, it is a description of what you want to appear on the screen (oh, and &lt;a href="https://dev.to/laurenmbeatty/react-deep-dive-it-s-declarative-ee2"&gt;it's declarative!&lt;/a&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;h2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;className&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;heading heading-medium&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;React Deep Dive&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;header&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;heading heading-medium&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="nx"&gt;Deep&lt;/span&gt; &lt;span class="nx"&gt;Dive&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;An Element has a &lt;code&gt;type&lt;/code&gt;, props, and any children nested inside of it. The type can be either a DOM Element (like 'h2', in the above example), or a Component Element (like the &lt;code&gt;Heading&lt;/code&gt; described below).&lt;/p&gt;

&lt;h2&gt;
  
  
  React Component
&lt;/h2&gt;

&lt;p&gt;A React Component is &lt;em&gt;composed&lt;/em&gt; of React Elements. It is either a class with a render function, or a stateless functional component. It takes props as an input and returns an element tree as its output. Component names start with a capital letter (&lt;code&gt;Heading&lt;/code&gt; vs &lt;code&gt;h2&lt;/code&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Heading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt; 
    &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;`heading heading-&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I found &lt;a href="https://reactjs.org/blog/2015/12/18/react-components-elements-and-instances.html"&gt;this blog post&lt;/a&gt; (from 2015!) very helpful in understanding the differences.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>React Deep Dive: It's Declarative</title>
      <dc:creator>Lauren Beatty</dc:creator>
      <pubDate>Sun, 31 Jan 2021 15:37:17 +0000</pubDate>
      <link>https://dev.to/laurenmbeatty/react-deep-dive-it-s-declarative-ee2</link>
      <guid>https://dev.to/laurenmbeatty/react-deep-dive-it-s-declarative-ee2</guid>
      <description>&lt;p&gt;This year, I'm starting to read through the React docs and &lt;a href="https://dev.to/laurenmbeatty/react-deep-dive-153e"&gt;take notes as I go&lt;/a&gt; so that I can be a better technical communicator. &lt;/p&gt;

&lt;h2&gt;
  
  
  Declarative
&lt;/h2&gt;

&lt;p&gt;In looking at the &lt;a href="https://reactjs.org/"&gt;React website&lt;/a&gt;, one of the first things you'll see is that React is "declarative". I felt like I had only a basic understanding of what that meant. I mean, you just declare it, right? 😂&lt;/p&gt;

&lt;p&gt;I thought I might need a better understanding than that. I found a &lt;a href="https://ui.dev/imperative-vs-declarative-programming/"&gt;great explanation&lt;/a&gt; from Tyler McGinnis, that really informed my understanding, and &lt;em&gt;also&lt;/em&gt; helped me understand why learning React felt like such a huge departure from jQuery-land. &lt;/p&gt;

&lt;p&gt;So, what does it mean when we say that React is a &lt;em&gt;declarative&lt;/em&gt; programming language? &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Declarative&lt;/em&gt; means that we &lt;em&gt;describe&lt;/em&gt; the end state of our program without dictating the steps to get there. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What does that look like?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Describe a BasicButton component&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;BasicButton&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;buttonText&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;buttonText&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// later, when using BasicButton&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;BasicButton&lt;/span&gt;
  &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;setDrawerOpen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;open&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
  &lt;span class="nx"&gt;buttonText&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Toggle&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here I'm describing to React what I want a &lt;code&gt;BasicButton&lt;/code&gt; component to look like. It should render a button, it should have an &lt;code&gt;onClick&lt;/code&gt; handler, and &lt;code&gt;buttonText&lt;/code&gt;. When I use it, I can pass a function to &lt;code&gt;onClick&lt;/code&gt; and some text to the button. I'm not telling React &lt;em&gt;how&lt;/em&gt; to do it, I'm just describing what I'd like. I'm leaving the implementation details to React. Notice, too, that I can use this button anywhere, it doesn't rely on any specific context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Imperative
&lt;/h2&gt;

&lt;p&gt;How is that different from imperative? When I think of imperative, I think of a jQuery implementation like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;on&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;click&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#drawer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;toggleClass&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;open&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="c1"&gt;// Um, I have not used jQuery in quite some time. That was hard.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here I'm engaging in direct DOM manipulation. When I click on the &lt;code&gt;button&lt;/code&gt;, find the element that has an id of &lt;code&gt;drawer&lt;/code&gt;, and then add or remove the class &lt;code&gt;open&lt;/code&gt; from that element. I'm giving specific instructions for &lt;em&gt;how&lt;/em&gt; I want this to happen. Do this thing, and then do that other thing. This code really depends on the existence of an element that has an id of &lt;code&gt;drawer&lt;/code&gt;. It's not context-independent.&lt;/p&gt;

&lt;p&gt;When learning React, I think that was the biggest challenge for me, is that switch from a more imperative style to a declarative style. I was used to directly manipulating the DOM and telling it the steps to follow, as opposed to just describing the UI state(s) I wanted.&lt;/p&gt;

&lt;p&gt;(Here's &lt;a href="https://codeburst.io/declarative-vs-imperative-programming-a8a7c93d9ad2#:~:text=Declarative%20programming%20is%20a%20programming,that%20change%20a%20program's%20state."&gt;another read&lt;/a&gt; that was super helpful)&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>React Deep Dive: Introduction</title>
      <dc:creator>Lauren Beatty</dc:creator>
      <pubDate>Sat, 30 Jan 2021 21:02:40 +0000</pubDate>
      <link>https://dev.to/laurenmbeatty/react-deep-dive-153e</link>
      <guid>https://dev.to/laurenmbeatty/react-deep-dive-153e</guid>
      <description>&lt;h2&gt;
  
  
  Hi 👋
&lt;/h2&gt;

&lt;p&gt;This year I've set out to better understand, and be able to articulate, React concepts. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why 🤷‍♀️
&lt;/h2&gt;

&lt;p&gt;I'm a Senior Frontend developer and a Team Lead. I've been working full-time with React for 2 years now. I often intuitively know what I need to do to accomplish something in React, but I find if I have to explain things from a technical perspective, my words are lacking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Method 🛠️
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Read the &lt;a href="https://reactjs.org/docs/getting-started.html"&gt;React docs&lt;/a&gt; and explore related material 30 minutes every weekday.📚&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write down my notes! For me, writing helps to solidify my learning. I'll usually read something through once to get the overall picture, then read it a second time and take notes as I go. 📝&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;At the end of the week read through my notes, and summarize anything important I learned in a brief blog post. 👩‍💻&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it! My goal is to be a better technical communicator, but not burn out in the process. 😂 &lt;/p&gt;

&lt;h2&gt;
  
  
  Posts ✍️
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/laurenmbeatty/react-deep-dive-it-s-declarative-ee2"&gt;It's Declarative&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/laurenmbeatty/react-deep-dive-element-vs-component-3ep1"&gt;Element vs. Component&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Team 10 Recap</title>
      <dc:creator>Lauren Beatty</dc:creator>
      <pubDate>Wed, 30 Sep 2020 00:53:52 +0000</pubDate>
      <link>https://dev.to/the-collab-lab/team-10-recap-463a</link>
      <guid>https://dev.to/the-collab-lab/team-10-recap-463a</guid>
      <description>&lt;p&gt;&lt;a href="https://the-collab-lab.codes/"&gt;The Collab Lab's&lt;/a&gt; tenth team (affectionately known as TCL-10) wrapped up its eighth and final week. Every team brings unique skills and talents; TCL-10 amazed us with their advanced collaboration and high-level technical skills. I would say you should be quick to snap them up (if you can---some are already hired!), but I selfishly want to hog them for my own team. &lt;/p&gt;

&lt;p&gt;This amazing group was comprised of: &lt;a href="https://katm.dev/"&gt;Kat DeVrieze&lt;/a&gt;, &lt;a href="https://laurenyz.github.io/portfolio/"&gt;Lauren Yu&lt;/a&gt;, &lt;a href="https://github.com/QMaximillian"&gt;Quinn Lashinsky&lt;/a&gt; and &lt;a href="https://github.com/TianaJohnson"&gt;Tiana Johnson&lt;/a&gt;. Mentors included &lt;a href="https://github.com/VerteDinde"&gt;Keeley Hammond&lt;/a&gt;, &lt;a href="https://github.com/laurenmbeatty"&gt;Lauren Beatty&lt;/a&gt;, and &lt;a href="https://matthewjhughes.com/"&gt;Matthew Hughes&lt;/a&gt; (a Collab Lab alum!).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SHH_GL7X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/i1xtj93tkvmcbbenv1k4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SHH_GL7X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/i1xtj93tkvmcbbenv1k4.png" alt="TCL-10 Participants and Mentors" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While in The Collab Lab, 4 developers split into pairs every week to tackle 2 stories from the project's backlog. We emphasize collaboration throughout: managing asynchronous communication, pair programming, code review, version control, and project planning. A typical week flows from assignment of issues on a Sunday, to perhaps submitting a pull request(PR) by Thursday. We mentors knew we had a special group when both pairs had their first PRs up and ready for review by Tuesday afternoon!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TCL-10 highlights:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;💻 Exceptional code review! We were blown away by how insightful, helpful and compassionate they were in their code reviews...from the beginning!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;⏲️ They got ahead of schedule! Because they were so skilled, TCL-10 managed to easily tackle stories from the backlog weeks ahead of schedule. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🤔 Forward-thinkers! TCL-10 looked ahead at upcoming issues to understand where the app was headed, and set themselves up for technical success with flexible and thoughtful architecture.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧠 A complete re-write of the &lt;em&gt;dreaded&lt;/em&gt; "estimates" function! Participants build a smart shopping list which sorts a shopping list based upon how frequently an item is purchased. The app comes with a pre-defined function that estimates the next purchase date, but this group wrote their own from scratch...a Collab Lab first!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;👩‍🎨 They created their own design system!!! Although none of the participants were designers, they created their own design system in Figma, and leveraged MaterialUI's rich API to generate custom styles for their components. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;✨ Lifting each other up! I never have seen a group of people so quick to give credit to others for success. Each week we were blown away by their generosity of spirit.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The results speak for themselves:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m-NWBW5v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/5h7epqxc3rt01j1fi8tt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m-NWBW5v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/5h7epqxc3rt01j1fi8tt.png" alt="TCL-10's design system" width="800" height="542"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oxgalAiz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/fbn39nwwq76cknja8s1w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oxgalAiz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/fbn39nwwq76cknja8s1w.png" alt="Final Product" width="376" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>collablab</category>
      <category>juniordevelopers</category>
      <category>earlycareerdevelopers</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
