{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2014/08/03/community-roundup-21.html","result":{"data":{"markdownRemark":{"html":"<h2 id=\"react-router\"><a href=\"#react-router\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React Router </h2>\n<p><a href=\"http://ryanflorence.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ryan Florence</a> and <a href=\"https://twitter.com/mjackson\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Michael Jackson</a> ported Ember’s router to React in a project called <a href=\"https://github.com/rackt/react-router\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">React Router</a>. This is a very good example of both communities working together to make the web better!</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\">React<span class=\"token punctuation\">.</span><span class=\"token function\">renderComponent</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Routes</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n    </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Route</span></span> <span class=\"token attr-name\">handler</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>App<span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n      </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Route</span></span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>about<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">handler</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>About<span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">/></span></span><span class=\"token plain-text\">\n      </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Route</span></span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>users<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">handler</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>Users<span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n        </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Route</span></span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>user<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">path</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>/user/:userId<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">handler</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>User<span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">/></span></span><span class=\"token plain-text\">\n      </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span><span class=\"token class-name\">Route</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n    </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span><span class=\"token class-name\">Route</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n  </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span><span class=\"token class-name\">Routes</span></span><span class=\"token punctuation\">></span></span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">getElementById</span><span class=\"token punctuation\">(</span><span class=\"token string\">'example'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<h2 id=\"going-big-with-react\"><a href=\"#going-big-with-react\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Going Big with React </h2>\n<p>Areeb Malik, from Facebook, talks about his experience using React. “On paper, all those JS frameworks look promising: clean implementations, quick code design, flawless execution. But what happens when you stress test JavaScript? What happens when you throw 6 megabytes of code at it? In this talk, we’ll investigate how React performs in a high stress situation, and how it has helped our team build safe code on a massive scale”</p>\n<p><a href=\"https://skillsmatter.com/skillscasts/5429-going-big-with-react\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 650px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 48.09523809523809%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAsSAAALEgHS3X78AAACUElEQVQoz2Mw1VJSU5GX0jfl0DQT1jZU11Tj5OHk5uUCIyiDT4CXgZHBw8Nj3bp1/f39ZWVlKhpqSmpqDGkFOROmzVywbOWcFeuWrN2wYvXaBYuXLFy8dOGSpYuXLQeihUuWrVqzrqu3V1ZWxt7e3sjISEtLS0xSUlBUhCGtuffey083bty5e+/R/YfPHj978+zV+6cv37149fHpi3fPX75/9fbz52+/T5+7yMDAICIiIiMjw8zMzAABVVVVHz593Xf44P4jBw4cObT/8MHTZ05dunTx4MG9hw7uOwAUP7j/3oNHh46eZGNlFRUVFRcX5+bmhmquqKp5+e7DsrWLVm1cvm7z6jUbVx7Yt+PU8UPr1i3dtHHlxk2r1q5devPW7WOnzgIVCwkJSUhIMDMzQTWXV1R9/PJrx9G9B08fO33+wsmzZy9dv3nzzv1zFy+ev3Tp/MVLZ8+ff/Ls5eFjp4CKBQQE+fn5GeCgvLLqzftPa3cd27j/5N6Du3fu23X4xIkHj18+fPIKgh48fgEMhSPHT4qLCsrLSWtqaivIy7Gzgb1dU9fw+duPFZt3Ltp6Ys3Ow9t2bT9+6gQwkF6++fDyzUcgevH6w5v3Xx89ftJcnjKhram7qbW7uUpTRQKkOToxYff+g7sPHJy/Ys2ClRuWrFq7cv3Gjdt2QtAGINq6Y+O23Ru3bq5vLOmdPD0qPjUrPc7QUIOBiZlBXV9XTFpKWVNDTFZKXF5aTE5GVFZaREYShKShpLCUpKSctFVAgFl4lKqZZWpqdEhEMI+gEADDTCU1Wfu9dgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"skills matter\"\n        title=\"\"\n        src=\"/static/fd557144f90c6eabb680d1247345e520/a6d36/skills-matter.png\"\n        srcset=\"/static/fd557144f90c6eabb680d1247345e520/65ed1/skills-matter.png 210w,\n/static/fd557144f90c6eabb680d1247345e520/d10fb/skills-matter.png 420w,\n/static/fd557144f90c6eabb680d1247345e520/a6d36/skills-matter.png 650w\"\n        sizes=\"(max-width: 650px) 100vw, 650px\"\n      />\n    </span>\n  </span>\n  </a></p>\n<!--\n<iframe allowfullscreen=\"\" data-progress=\"true\" frameborder=\"0\" height=\"390\" id=\"vimeo-player\" mozallowfullscreen=\"\" src=\"//player.vimeo.com/video/100245392?api=1&amp;title=0\" webkitallowfullscreen=\"\" width=\"640\"></iframe>\n-->\n<h2 id=\"what-is-react\"><a href=\"#what-is-react\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What is React? </h2>\n<p><a href=\"http://www.funnyant.com/author/admin/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Craig McKeachie</a> author of <a href=\"http://www.funnyant.com/javascript-framework-guide/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JavaScript Framework Guide</a> wrote an excellent news named <a href=\"http://www.funnyant.com/reactjs-what-is-it/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">“What is React.js? Another Template Library?</a></p>\n<ul>\n<li>Is React a template library?</li>\n<li>Is React similar to Web Components?</li>\n<li>Are the Virtual DOM and Shadow DOM the same?</li>\n<li>Can React be used with other JavaScript MVC frameworks?</li>\n<li>Who uses React?</li>\n<li>Is React a premature optimization if you aren’t Facebook or Instagram?</li>\n<li>Can I work with designers?</li>\n<li>Will React hurt my search engine optimizations (SEO)?</li>\n<li>Is React a framework for building applications or a library with one feature?</li>\n<li>Are components a better way to build an application?</li>\n<li>Can I build something complex with React?</li>\n</ul>\n<h2 id=\"referencing-dynamic-children\"><a href=\"#referencing-dynamic-children\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Referencing Dynamic Children </h2>\n<p>While Matt Zabriskie was working on <a href=\"https://www.npmjs.com/package/react-tabs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react-tabs</a> he discovered how to use React.Children.map and React.addons.cloneWithProps in order to <a href=\"http://www.mattzabriskie.com/blog/react-referencing-dynamic-children\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reference dynamic children</a>.</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token keyword\">var</span> App <span class=\"token operator\">=</span> React<span class=\"token punctuation\">.</span><span class=\"token function\">createClass</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  <span class=\"token function-variable function\">render</span><span class=\"token operator\">:</span> <span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">var</span> children <span class=\"token operator\">=</span> React<span class=\"token punctuation\">.</span>Children<span class=\"token punctuation\">.</span><span class=\"token function\">map</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>props<span class=\"token punctuation\">.</span>children<span class=\"token punctuation\">,</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">child<span class=\"token punctuation\">,</span> index</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">return</span> React<span class=\"token punctuation\">.</span>addons<span class=\"token punctuation\">.</span><span class=\"token function\">cloneWithProps</span><span class=\"token punctuation\">(</span>child<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span>\n        ref<span class=\"token operator\">:</span> <span class=\"token string\">'child-'</span> <span class=\"token operator\">+</span> index\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">return</span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">{</span>children<span class=\"token punctuation\">}</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<h2 id=\"jsx-with-sweetjs-using-readtables\"><a href=\"#jsx-with-sweetjs-using-readtables\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JSX with Sweet.js using Readtables </h2>\n<p>Have you ever wondered how JSX was implemented? James Long wrote a very instructive blog post that explains how to <a href=\"http://jlongster.com/Compiling-JSX-with-Sweet.js-using-Readtables\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">compile JSX with Sweet.js using Readtables</a>.</p>\n<p><a href=\"http://jlongster.com/Compiling-JSX-with-Sweet.js-using-Readtables\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 678px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 40.476190476190474%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAsSAAALEgHS3X78AAABIElEQVQY001RyXaEIBD0/78uixMRRzOuGDajgBr1kAInvtTB1011VS9GPWNF8SmFHIbvYRi01uu6/PzDsizjOHZtV9f1Ci4AAahIa4XX+D0mhDLWa6WMMSd3AvFx7HVdvby+9X0vpeRcWmu3bYuO40B+u32kKb3f76CFkNa5fd+vzta6tmkyms0zstk59+yMIoizLJNSncYX5nmGPYpQXZYlSQhmZIwp5SkIvRiTY23MDI5zjrVtQLBfu65rmqZt2sejRDxNJpDOGOvFgoskSSilcRxDP07TFnBunJIUYlxSeWghBNzx5V88MtOEttgncArdnrI/kCTN8yLciSuJkZXw8JNHoOGU5zly/ya8Bca6jl0URVXVOJQLgOYM8L9+AYGGvj5/iSm0AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"sweet jsx\"\n        title=\"\"\n        src=\"/static/fd70471ea0b23dc270959134e3baf136/38cea/sweet-jsx.png\"\n        srcset=\"/static/fd70471ea0b23dc270959134e3baf136/65ed1/sweet-jsx.png 210w,\n/static/fd70471ea0b23dc270959134e3baf136/d10fb/sweet-jsx.png 420w,\n/static/fd70471ea0b23dc270959134e3baf136/38cea/sweet-jsx.png 678w\"\n        sizes=\"(max-width: 678px) 100vw, 678px\"\n      />\n    </span>\n  </span>\n  </a></p>\n<h2 id=\"first-look-getting-started-with-react\"><a href=\"#first-look-getting-started-with-react\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>First Look: Getting Started with React </h2>\n<p><a href=\"http://modernweb.com/authors/kirill-buga/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Kirill Buga</a> wrote an article on Modern Web explaining how <a href=\"http://modernweb.com/2014/07/23/getting-started-reactjs/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">React is different from traditional MVC</a> used by most JavaScript applications</p>\n<figure><a href=\"http://modernweb.com/2014/07/23/getting-started-reactjs\">\n  <span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block;  max-width: 339px; margin-left: auto; margin-right: auto;\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 64.76190476190476%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGklEQVQoz12S7W/SUBTG+f+/mpgYF6cu6mbCNC4GGFOzl/BaaCl1A1YobEBZu76X3rfe1lPoxHlzP9yb0985z/P0FgghjDHyfDFKUh7zmMaMxjS7/rc450AV4jieTqdhGFKafYI3pOkh4XYlT63hMlBNpHuEPvEY4yRJBEFYrVYFOHW7Xdd1t/OhFvPkW1N7+Xr/w6fD7+VKqy3UR1aIchwhlKZptVqdz+cZ3Ov1PM97gsEFnVvhpTS+7A4a/YkyNe/MXNe2O2hWFMX3/RwOguAf5ziJGbRHGBumlaRpHO9MAwwlQBzHyWXPZrOdbMZU3SvXr38Kw6u+1r93xkb0lwQJ4PHs7AzmFaBNo9GQJAnE4M3iPDlpaa/23h4eHZUrp21h6zmLHKoww7btUqkEGWeTRVGEez55k7a3Jtf3blOZwFZXoRXs0t5mVqvVdp7hBDCklW1CKKOOba3DgGBkGg9RFFGaVxHKPMuyDOKfpQ1PAh4Go/jRfPA9l4IWSjFClmlE64AzKBEKvjZIBoPVTqcDp5jz0dLrTszWYCGOjZlNQ0QgZt2JBNW4kjXlzrk1kB3A5ESUpAyGgcXjY9951H3+4mP54P274teT84uL1m/tRl8znh5UxL03+5+LX06rPzqS0tY8kK30+67rFSB60IwxWmPaGi7PO4OmovVU/Wbu2gGC3zZYOL+EQV1WxdFCmVm6g+AVQdSQ/B8g8cnVlkr8FwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;\">\n      <img class=\"gatsby-resp-image-image\" style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\" alt=\"first look\" title src=\"/static/2fa9ac454433e7979c34d9924bdb5e63/16caa/first-look.png\" srcset=\"/static/2fa9ac454433e7979c34d9924bdb5e63/65ed1/first-look.png 210w,\n/static/2fa9ac454433e7979c34d9924bdb5e63/16caa/first-look.png 339w\" sizes=\"(max-width: 339px) 100vw, 339px\">\n    </span>\n  </span>\n  </a></figure>\n<h2 id=\"react-draggable\"><a href=\"#react-draggable\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React Draggable </h2>\n<p><a href=\"https://github.com/mzabriskie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Matt Zabriskie</a> released a <a href=\"https://github.com/mzabriskie/react-draggable\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">project</a> to make your react components draggable.</p>\n<p><a href=\"https://mzabriskie.github.io/react-draggable/example/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 565px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 66.19047619047619%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAABZElEQVQoz42Si3KCMBBF+f8vs6XU8UkV6ysV5KHy1lqIPRCHxul0pnecGMKevZtdjE9Nl8tFrcfjMQob+b6/2+14LMuSNfADdfghRBzHRoddr9evVlVVea7rOM5yucrSNIqioijKogB4s22YPMuCIODsDp/LkiDPg3KFEMRySJZbq7qu8zyX/FWVvN2F2Q8stltn7uz3+ySOwYiUUurw7VEafD7r0Qj+XzAXBu5C1UZdXmVk05Qtm8KV2AMaJOCBVbdVsIrjFdnptopsE7JW+BlRFL4vFq7nES1b8Q74dDr1nnqmac5m8zBserteryzLerEs03x+7feZmXE4HLxGbpZlYKTAJEkSBjoajaaTKXPOWwEPBoPpZDIcDm3bJntTtl4tzhQptmI8Hm/WGwYLTKWMmpnjVuQ5vzRNm7IVrHeL0+7C6i5/dvu3M3D3eXSjwvnugYvURlVrUm3snDt/nOtHAX4DYqjrtxkjDW0AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"react draggable\"\n        title=\"\"\n        src=\"/static/14c204c6a463067ab43d3a17dbe41925/07eba/react-draggable.png\"\n        srcset=\"/static/14c204c6a463067ab43d3a17dbe41925/65ed1/react-draggable.png 210w,\n/static/14c204c6a463067ab43d3a17dbe41925/d10fb/react-draggable.png 420w,\n/static/14c204c6a463067ab43d3a17dbe41925/07eba/react-draggable.png 565w\"\n        sizes=\"(max-width: 565px) 100vw, 565px\"\n      />\n    </span>\n  </span>\n  </a></p>\n<h2 id=\"html-parser2-react\"><a href=\"#html-parser2-react\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>HTML Parser2 React </h2>\n<p><a href=\"https://browniefed.github.io/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Jason Brown</a> adapted htmlparser2 to React: <a href=\"https://www.npmjs.com/package/htmlparser2-react\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">htmlparser2-react</a>. That allows you to convert raw HTML to the virtual DOM.\nThis is not the intended way to use React but can be useful as last resort if you have an existing piece of HTML.</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token keyword\">var</span> html <span class=\"token operator\">=</span> <span class=\"token string\">'&lt;div data-id=\"1\" class=\"hey this is a class\" '</span> <span class=\"token operator\">+</span>\n  <span class=\"token string\">'style=\"width:100%;height: 100%;\">&lt;article id=\"this-article\">'</span> <span class=\"token operator\">+</span>\n  <span class=\"token string\">'&lt;p>hey this is a paragraph&lt;/p>&lt;div>&lt;ul>&lt;li>1&lt;/li>&lt;li>2&lt;/li>'</span> <span class=\"token operator\">+</span>\n  <span class=\"token string\">'&lt;li>3&lt;/li>&lt;/ul>&lt;/div>&lt;/article>&lt;/div>'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> parsedComponent <span class=\"token operator\">=</span> <span class=\"token function\">reactParser</span><span class=\"token punctuation\">(</span>html<span class=\"token punctuation\">,</span> React<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<h2 id=\"building-uis-with-react\"><a href=\"#building-uis-with-react\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Building UIs with React </h2>\n<p>If you haven’t yet tried out React, Jacob Rios did a Hangout where he covers the most important aspects and thankfully he recorded it!</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 48.46153846153846%; position: relative; height: 0; overflow: hidden; \" > <iframe src=\"//www.youtube-nocookie.com/embed/lAn7GVoGlKU\" frameborder=\"0\" allowfullscreen style=\" position: absolute; top: 0; left: 0; width: 100%; height: 100%; \"></iframe> </div>\n<h2 id=\"random-tweets\"><a href=\"#random-tweets\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Random Tweets </h2>\n<blockquote class=\"twitter-tweet\" lang=\"en\"><p>We shipped reddit&#39;s first production <a href=\"https://twitter.com/reactjs\">@reactjs</a> code last week, our checkout process.&#10;&#10;<a href=\"https://t.co/KUInwsCmAF\">https://t.co/KUInwsCmAF</a></p>&mdash; Brian Holt (@holtbt) <a href=\"https://twitter.com/holtbt/statuses/493852312604254208\">July 28, 2014</a></blockquote>\n<blockquote class=\"twitter-tweet\" lang=\"en\"><p>.<a href=\"https://twitter.com/AirbnbNerds\">@AirbnbNerds</a> just launched our first user-facing React.js feature to production! We love it so far. <a href=\"https://t.co/KtyudemcIW\">https://t.co/KtyudemcIW</a> /<a href=\"https://twitter.com/floydophone\">@floydophone</a></p>&mdash; spikebrehm (@spikebrehm) <a href=\"https://twitter.com/spikebrehm/statuses/491645223643013121\">July 22, 2014</a></blockquote>","excerpt":"React Router  Ryan Florence and Michael Jackson ported Ember’s router to React in a project called React Router. This is a very good example of both communities working together to make the web better! Going Big with React  Areeb Malik, from Facebook, talks about his experience using React. “On paper, all those JS frameworks look promising: clean implementations, quick code design, flawless execution. But what happens when you stress test JavaScript? What happens when you throw 6 megabytes of…","frontmatter":{"title":"Community Round-up #21","next":null,"prev":null,"author":[{"frontmatter":{"name":"Lou Husson","url":"https://twitter.com/loukan42"}}]},"fields":{"date":"August 03, 2014","path":"content/blog/2014-08-03-community-roundup-21.md","slug":"/blog/2014/08/03/community-roundup-21.html"}},"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"Introducing the New JSX Transform"},"fields":{"slug":"/blog/2020/09/22/introducing-the-new-jsx-transform.html"}}},{"node":{"frontmatter":{"title":"React v17.0 Release Candidate: No New Features"},"fields":{"slug":"/blog/2020/08/10/react-v17-rc.html"}}},{"node":{"frontmatter":{"title":"React v16.13.0"},"fields":{"slug":"/blog/2020/02/26/react-v16.13.0.html"}}},{"node":{"frontmatter":{"title":"Building Great User Experiences with Concurrent Mode and Suspense"},"fields":{"slug":"/blog/2019/11/06/building-great-user-experiences-with-concurrent-mode-and-suspense.html"}}},{"node":{"frontmatter":{"title":"Preparing for the Future with React Prereleases"},"fields":{"slug":"/blog/2019/10/22/react-release-channels.html"}}},{"node":{"frontmatter":{"title":"Introducing the New React DevTools"},"fields":{"slug":"/blog/2019/08/15/new-react-devtools.html"}}},{"node":{"frontmatter":{"title":"React v16.9.0 and the Roadmap Update"},"fields":{"slug":"/blog/2019/08/08/react-v16.9.0.html"}}},{"node":{"frontmatter":{"title":"Is React Translated Yet? ¡Sí! Sim! はい！"},"fields":{"slug":"/blog/2019/02/23/is-react-translated-yet.html"}}},{"node":{"frontmatter":{"title":"React v16.8: The One With Hooks"},"fields":{"slug":"/blog/2019/02/06/react-v16.8.0.html"}}},{"node":{"frontmatter":{"title":"React v16.7: No, This Is Not the One With Hooks"},"fields":{"slug":"/blog/2018/12/19/react-v-16-7.html"}}}]}},"pageContext":{"slug":"/blog/2014/08/03/community-roundup-21.html"}},"staticQueryHashes":[]}