41554 blogs ยท [ { "id": "01a07d5d-7935-715f-aeee-643bb7352a5c", "title": "How to Enable React Concurrent Mode", "url": "https://kentcdodds.com/blog/how-to-enable-react-concurrent-mode", "published_at": "2019-11-04T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bb7dc9545", "title": "How to add testing to an existing project", "url": "https://kentcdodds.com/blog/how-to-add-testing-to-an-existing-project", "published_at": "2019-10-28T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bb8bf98c8", "title": "Building the Open Source Community We Want", "url": "https://kentcdodds.com/blog/building-the-open-source-community-we-want", "published_at": "2019-10-08T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bb8d35d85", "title": "Making your UI tests resilient to change", "url": "https://kentcdodds.com/blog/making-your-ui-tests-resilient-to-change", "published_at": "2019-10-07T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bb9cf33d0", "title": "Speed up your App with Web Workers", "url": "https://kentcdodds.com/blog/speed-up-your-app-with-web-workers", "published_at": "2019-10-04T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bb9d850d0", "title": "Don't Sync State. Derive It!", "url": "https://kentcdodds.com/blog/dont-sync-state-derive-it", "published_at": "2019-09-30T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bb9e57ffd", "title": "State Colocation will make your React app faster", "url": "https://kentcdodds.com/blog/state-colocation-will-make-your-react-app-faster", "published_at": "2019-09-23T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bba2ccb1a", "title": "Profile a React App for Performance", "url": "https://kentcdodds.com/blog/profile-a-react-app-for-performance", "published_at": "2019-09-16T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bba2de9a1", "title": "Fix the slow render before you fix the re-render", "url": "https://kentcdodds.com/blog/fix-the-slow-render-before-you-fix-the-re-render", "published_at": "2019-09-09T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbacbaffe", "title": "How to implement useState with useReducer", "url": "https://kentcdodds.com/blog/how-to-implement-usestate-with-usereducer", "published_at": "2019-08-30T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbb29ad7d", "title": "Write fewer, longer tests", "url": "https://kentcdodds.com/blog/write-fewer-longer-tests", "published_at": "2019-08-26T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbbf385ea", "title": "How to get experience as a software engineer", "url": "https://kentcdodds.com/blog/how-to-get-experience-as-a-software-engineer", "published_at": "2019-08-12T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbc735ced", "title": "5 Tips to Help You Avoid React Hooks Pitfalls", "url": "https://kentcdodds.com/blog/react-hooks-pitfalls", "published_at": "2019-08-05T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbc83178b", "title": "Avoid Nesting when you're Testing", "url": "https://kentcdodds.com/blog/avoid-nesting-when-youre-testing", "published_at": "2019-07-29T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbd0114a6", "title": "When to break up a component into multiple components", "url": "https://kentcdodds.com/blog/when-to-break-up-a-component-into-multiple-components", "published_at": "2019-07-19T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbda533b9", "title": "Write tests. Not too many. Mostly integration.", "url": "https://kentcdodds.com/blog/write-tests", "published_at": "2019-07-13T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbe7cd078", "title": "React Fundamentals: Props vs State", "url": "https://kentcdodds.com/blog/props-vs-state", "published_at": "2019-07-08T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbe9f5176", "title": "How I Teach", "url": "https://kentcdodds.com/blog/how-i-teach", "published_at": "2019-07-01T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbf37ec73", "title": "One simple trick to optimize React re-renders", "url": "https://kentcdodds.com/blog/optimize-react-re-renders", "published_at": "2019-06-24T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbf972c36", "title": "Colocation", "url": "https://kentcdodds.com/blog/colocation", "published_at": "2019-06-17T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bbfc45145", "title": "When to useMemo and useCallback", "url": "https://kentcdodds.com/blog/usememo-and-usecallback", "published_at": "2019-06-04T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc00f69d5", "title": "Avoid the Test User", "url": "https://kentcdodds.com/blog/avoid-the-test-user", "published_at": "2019-05-24T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc057be27", "title": "Authentication in React Applications", "url": "https://kentcdodds.com/blog/authentication-in-react-applications", "published_at": "2019-05-20T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc0d948a4", "title": "How to know what to test", "url": "https://kentcdodds.com/blog/how-to-know-what-to-test", "published_at": "2019-04-13T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc1819068", "title": "AHA Testing ๐Ÿ’ก", "url": "https://kentcdodds.com/blog/aha-testing", "published_at": "2019-04-07T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc232dcf6", "title": "How to get started with programming", "url": "https://kentcdodds.com/blog/how-to-get-started-with-programming", "published_at": "2019-03-06T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc2d2bfcc", "title": "How to Enable React Strict Mode", "url": "https://kentcdodds.com/blog/react-strict-mode", "published_at": "2019-03-04T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc35af8a9", "title": "Goodbye Medium", "url": "https://kentcdodds.com/blog/goodbye-medium", "published_at": "2019-02-25T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc381b142", "title": "React Hooks: Compound Components", "url": "https://kentcdodds.com/blog/compound-components-with-react-hooks", "published_at": "2019-02-18T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc435c93d", "title": "๐Ÿšจ Big Announcement: I'm a full-time educator! ๐Ÿ‘จโ€๐Ÿซ", "url": "https://kentcdodds.com/blog/full-time-educator", "published_at": "2019-02-17T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc4ed181f", "title": "Please stop building inaccessible forms (and how to fix them)", "url": "https://kentcdodds.com/blog/please-stop-building-inaccessible-forms-and-how-to-fix-them", "published_at": "2019-02-04T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc5225c03", "title": "2018 in Review", "url": "https://kentcdodds.com/blog/2018-in-review", "published_at": "2019-01-14T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc60f1d98", "title": "React Hooks: Array Destructuring Fundamentals", "url": "https://kentcdodds.com/blog/react-hooks-array-destructuring-fundamentals", "published_at": "2018-12-31T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc6733e47", "title": "React Hooks: What's going to happen to my tests?", "url": "https://kentcdodds.com/blog/react-hooks-whats-going-to-happen-to-my-tests", "published_at": "2018-12-24T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc6c552e3", "title": "React Hooks: What's going to happen to react context?", "url": "https://kentcdodds.com/blog/react-hooks-whats-going-to-happen-to-react-context", "published_at": "2018-12-17T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc7bbb19e", "title": "React Hooks: What's going to happen to render props?", "url": "https://kentcdodds.com/blog/react-hooks-whats-going-to-happen-to-render-props", "published_at": "2018-12-10T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc85b5507", "title": "How Gratitude can make you a better developer", "url": "https://kentcdodds.com/blog/how-gratitude-can-make-you-a-better-developer", "published_at": "2018-12-03T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc8b82d88", "title": "Introducing a new course: Simplify React Apps with React Hooks and Suspense", "url": "https://kentcdodds.com/blog/introducing-a-new-course-simplify-react-apps-with-react-hooks-and-suspense", "published_at": "2018-12-03T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc90d6c03", "title": "Common Testing Mistakes", "url": "https://kentcdodds.com/blog/common-testing-mistakes", "published_at": "2018-11-12T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc9d0451c", "title": "UI Testing Myths", "url": "https://kentcdodds.com/blog/ui-testing-myths", "published_at": "2018-11-08T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bc9da2298", "title": "The Merits of Mocking", "url": "https://kentcdodds.com/blog/the-merits-of-mocking", "published_at": "2018-11-05T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bca513c51", "title": "The time I messed up", "url": "https://kentcdodds.com/blog/the-time-i-messed-up", "published_at": "2018-10-22T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcab8cdd2", "title": "React is an implementation detail", "url": "https://kentcdodds.com/blog/react-is-an-implementation-detail", "published_at": "2018-10-20T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcb3a8a14", "title": "Why you've been bad about testing", "url": "https://kentcdodds.com/blog/why-youve-been-bad-about-testing", "published_at": "2018-10-15T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcc24fc15", "title": "Demystifying Testing", "url": "https://kentcdodds.com/blog/demystifying-testing", "published_at": "2018-10-11T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bccf25f71", "title": "Confidently Shipping Code", "url": "https://kentcdodds.com/blog/confidently-shipping-code", "published_at": "2018-10-08T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bccf26dce", "title": "React/JSX as a server-side templating language", "url": "https://kentcdodds.com/blog/react-jsx-as-a-server-side-templating-language", "published_at": "2018-10-01T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcd50cba8", "title": "How I am so productive", "url": "https://kentcdodds.com/blog/how-i-am-so-productive", "published_at": "2018-09-24T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bce2c763d", "title": "Getting Noticed and Widening Your Reach", "url": "https://kentcdodds.com/blog/getting-noticed-and-widening-your-reach", "published_at": "2018-09-17T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcea47d55", "title": "Make Impossible States Impossible", "url": "https://kentcdodds.com/blog/make-impossible-states-impossible", "published_at": "2018-09-10T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bceed5767", "title": "How to make the most out of conferences", "url": "https://kentcdodds.com/blog/how-to-make-the-most-out-of-conferences", "published_at": "2018-09-03T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcef6eeec", "title": "Why and How I started public speaking", "url": "https://kentcdodds.com/blog/why-and-how-i-started-public-speaking", "published_at": "2018-08-27T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcf082947", "title": "mdx-deck: slide decks powered by markdown and react", "url": "https://kentcdodds.com/blog/mdx-deck-slide-decks-powered-by-markdown-and-react", "published_at": "2018-08-20T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcf1d9af7", "title": "unpkg: An open source CDN for npm", "url": "https://kentcdodds.com/blog/unpkg-an-open-source-cdn-for-npm", "published_at": "2018-08-13T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bcfeed65c", "title": "Polyfill as needed with polyfill-service", "url": "https://kentcdodds.com/blog/polyfill-as-needed-with-polyfill-service", "published_at": "2018-08-06T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd0deeea2", "title": "What is a polyfill", "url": "https://kentcdodds.com/blog/what-is-a-polyfill", "published_at": "2018-07-30T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd18562b4", "title": "Why I Never Use Shallow Rendering", "url": "https://kentcdodds.com/blog/why-i-never-use-shallow-rendering", "published_at": "2018-07-23T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd1fb4011", "title": "What is JSX?", "url": "https://kentcdodds.com/blog/what-is-jsx", "published_at": "2018-07-09T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd2b191fd", "title": "Test Isolation with React", "url": "https://kentcdodds.com/blog/test-isolation-with-react", "published_at": "2018-07-02T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd2e2aa43", "title": "JavaScript default parameters", "url": "https://kentcdodds.com/blog/javascript-default-parameters", "published_at": "2018-06-25T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd375024f", "title": "Dealing with FOMO", "url": "https://kentcdodds.com/blog/dealing-with-fomo", "published_at": "2018-06-18T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd3e2dc6e", "title": "๐ŸŽ downshift 2.0.0 released ๐ŸŽ‰", "url": "https://kentcdodds.com/blog/downshift-2-0-0-released", "published_at": "2018-06-15T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd3ece0f2", "title": "When to use Control Props or State Reducers", "url": "https://kentcdodds.com/blog/control-props-vs-state-reducers", "published_at": "2018-06-11T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd473a4f2", "title": "Write your own code transform for fun and profit", "url": "https://kentcdodds.com/blog/write-your-own-code-transform", "published_at": "2018-06-04T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd4f2b1d7", "title": "๐Ÿ’ฏ UPDATED: Advanced React Component Patterns โš›๏ธ", "url": "https://kentcdodds.com/blog/updated-advanced-react-component-patterns", "published_at": "2018-06-01T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd56cf3fe", "title": "React DevTools", "url": "https://kentcdodds.com/blog/react-devtools", "published_at": "2018-05-28T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd5c61597", "title": "Prop Drilling", "url": "https://kentcdodds.com/blog/prop-drilling", "published_at": "2018-05-21T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd5fbaf1f", "title": "How I learn an Open Source Codebase", "url": "https://kentcdodds.com/blog/how-i-learn-an-open-source-codebase", "published_at": "2018-05-14T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd6100770", "title": "Mixing Component Patterns", "url": "https://kentcdodds.com/blog/mixing-component-patterns", "published_at": "2018-05-07T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd6db0864", "title": "Pure Modules", "url": "https://kentcdodds.com/blog/pure-modules", "published_at": "2018-04-30T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd715f53b", "title": "Migrating to React's New Context API", "url": "https://kentcdodds.com/blog/migrating-to-reacts-new-context-api", "published_at": "2018-04-23T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd7326ea8", "title": "Compose Render Props", "url": "https://kentcdodds.com/blog/compose-render-props", "published_at": "2018-04-09T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd7d55f40", "title": "Introducing the react-testing-library ๐Ÿ", "url": "https://kentcdodds.com/blog/introducing-the-react-testing-library", "published_at": "2018-04-02T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd88f4d18", "title": "When to NOT use Render Props", "url": "https://kentcdodds.com/blog/when-to-not-use-render-props", "published_at": "2018-03-26T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bd9694cb2", "title": "But really, what is a JavaScript mock?", "url": "https://kentcdodds.com/blog/but-really-what-is-a-javascript-mock", "published_at": "2018-03-19T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bda1ffc3e", "title": "Increase your marketability", "url": "https://kentcdodds.com/blog/increase-your-marketability", "published_at": "2018-03-12T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdae0ea7c", "title": "Solidifying what you learn", "url": "https://kentcdodds.com/blog/solidifying-what-you-learn", "published_at": "2018-03-05T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdaf3883f", "title": "The state reducer pattern โš›๏ธ ๐ŸŽ", "url": "https://kentcdodds.com/blog/the-state-reducer-pattern", "published_at": "2018-02-19T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdbc3aece", "title": "Answers to common questions about render props", "url": "https://kentcdodds.com/blog/answers-to-common-questions-about-render-props", "published_at": "2018-02-12T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdcbf63b9", "title": "React's โš›๏ธ new Context API", "url": "https://kentcdodds.com/blog/reacts-new-context-api", "published_at": "2018-02-05T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdcd751cb", "title": "Concerning toolkits ๐Ÿ›  ๐Ÿ“ฆ", "url": "https://kentcdodds.com/blog/concerning-toolkits", "published_at": "2018-01-29T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdce89098", "title": "Spelunking in node_modules ๐Ÿ‘ท", "url": "https://kentcdodds.com/blog/spelunking-in-node-modules", "published_at": "2018-01-22T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdd737c30", "title": "Building Production Apps 100% in the browser", "url": "https://kentcdodds.com/blog/building-production-apps-100-in-the-browser", "published_at": "2018-01-15T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdd94cae8", "title": "Testing โš›๏ธ components using render props", "url": "https://kentcdodds.com/blog/testing-components-using-render-props", "published_at": "2018-01-08T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bddc38baf", "title": "But really, what is a JavaScript test?", "url": "https://kentcdodds.com/blog/but-really-what-is-a-javascript-test", "published_at": "2018-01-01T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bde400dcf", "title": "Merry Christmas!", "url": "https://kentcdodds.com/blog/merry-christmas", "published_at": "2017-12-25T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdeb542bb", "title": "The Beginner's Guide to ReactJS", "url": "https://kentcdodds.com/blog/the-beginners-guide-to-reactjs", "published_at": "2017-12-18T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdeba58e3", "title": "Giving good demos", "url": "https://kentcdodds.com/blog/giving-good-demos", "published_at": "2017-12-11T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643bdf871679", "title": "Advanced React Component Patterns", "url": "https://kentcdodds.com/blog/advanced-react-component-patterns", "published_at": "2017-12-05T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be071c1d1", "title": "Learn React Fundamentals ๐Ÿ†“ and Advanced Patterns โš›๏ธ ๐ŸŽ", "url": "https://kentcdodds.com/blog/learn-react-fundamentals-and-advanced-patterns", "published_at": "2017-12-04T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be0c4efbc", "title": "Becoming an Open Source Project Maintainer", "url": "https://kentcdodds.com/blog/becoming-an-open-source-project-maintainer", "published_at": "2017-11-20T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be1b2065a", "title": "Rendering a function with React", "url": "https://kentcdodds.com/blog/rendering-a-function-with-react", "published_at": "2017-11-13T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be1d5fd59", "title": "Improving the usability of your modules", "url": "https://kentcdodds.com/blog/improving-the-usability-of-your-modules", "published_at": "2017-11-06T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be2b574f2", "title": "Effective Snapshot Testing", "url": "https://kentcdodds.com/blog/effective-snapshot-testing", "published_at": "2017-10-30T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be344a270", "title": "Make maintainable workarounds with codegen ๐Ÿ’ฅ", "url": "https://kentcdodds.com/blog/make-maintainable-workarounds-with-codegen", "published_at": "2017-10-09T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be35bb81a", "title": "How to give rendering control to users with prop getters", "url": "https://kentcdodds.com/blog/how-to-give-rendering-control-to-users-with-prop-getters", "published_at": "2017-10-02T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be4049b5c", "title": "Tools without config ๐Ÿ› ๐Ÿ“ฆ", "url": "https://kentcdodds.com/blog/tools-without-config", "published_at": "2017-09-26T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be4bdefc2", "title": "Introducing downshift ๐ŸŽ for React โš›๏ธ", "url": "https://kentcdodds.com/blog/introducing-downshift-for-react", "published_at": "2017-08-23T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be59442c2", "title": "How writing custom Babel & ESLint plugins can increase productivity & improve user experience", "url": "https://kentcdodds.com/blog/how-writing-custom-babel-and-eslint-plugins-can-increase-productivity-and-improve-user-experience", "published_at": "2017-07-17T00:00:00+00:00" }, { "id": "01a07d5d-7935-715f-aeee-643be5d7e697", "title": "Classes, Complexity, and Functional Programming", "url": "https://kentcdodds.com/blog/classes-complexity-and-functional-programming", "published_at": "2017-06-06T00:00:00+00:00" } ] posts Claim your blog
Back to Kent C. Dodds
Blog ยท corpus.blog/blogs/kentcdodds.com/posts

Kent C. Dodds

kentcdodds.com

2019

2018

2017