41554 blogs · [ { "id": "01a0878e-b070-73cf-9676-f22852101043", "title": "The Fastest Way I’ve Found to Build a Solid UI Without a Designer", "url": "https://joaoforja.com/articles/fastest-way-ive-found-to-build-a-solid-ui-without-a-designer", "published_at": "2026-08-07T12:00:00+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285b5d2c35", "title": "How to write fewer tests but find more bugs in your React components", "url": "https://joaoforja.com/articles/this-is-what-you-can-do-to-know-what-to-test-on-your-react-components", "published_at": "2021-09-16T16:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f22852a59883", "title": "Guideline from the 70's on how to split your React components", "url": "https://joaoforja.com/articles/guideline-on-how-to-decompose-a-react-component", "published_at": "2021-08-15T12:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285b091e12", "title": "Testing and developing with React and TS: Data structures (part 1)", "url": "https://joaoforja.com/articles/testing-and-developing-with-react-ts-pt1", "published_at": "2020-12-26T17:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285c5e0771", "title": "Unsure of what tests to write? Here's what that might mean.", "url": "https://joaoforja.com/articles/what-being-unsure-on-what-to-test-might-mean", "published_at": "2020-08-17T11:00:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f228547bd148", "title": "5 steps to deal with bugs on your React applications", "url": "https://joaoforja.com/articles/how-to-deal-with-bugs-react-app", "published_at": "2020-07-02T19:30:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285b072d42", "title": "12 recipes for testing React applications using Testing Library", "url": "https://joaoforja.com/articles/recipes-for-testing-react-apps-tl", "published_at": "2020-06-22T10:20:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f228586ac7be", "title": "How to test React components that depend on route changes", "url": "https://joaoforja.com/articles/how-to-test-react-components-route-change", "published_at": "2020-06-09T10:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f22852ce4ead", "title": "How important is testing for a React developer?", "url": "https://joaoforja.com/articles/how-important-is-testing-for-a-react-developer", "published_at": "2020-06-02T21:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285951ae32", "title": "Thought process for testing a React application.", "url": "https://joaoforja.com/articles/how-to-write-tests-react-app-case-study", "published_at": "2020-05-24T22:00:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285a23cfca", "title": "Don't know what to test on your React App? Learn how to make a test list.", "url": "https://joaoforja.com/articles/learn-how-to-make-a-test-list", "published_at": "2020-05-15T12:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f228554e562b", "title": "How to have different mock responses for multiple tests using Jest and React", "url": "https://joaoforja.com/articles/how-to-have-different-mock-responses-for-multiple-tests-using-jest-and-react", "published_at": "2020-05-08T09:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f22857d4d62b", "title": "How to test a React application index.js", "url": "https://joaoforja.com/articles/how-to-test-a-rect-app-indexjs", "published_at": "2020-05-01T09:10:26+00:00" }, { "id": "01a0878e-b070-73cf-9676-f228553b65ac", "title": "How to get started testing React applications", "url": "https://joaoforja.com/articles/how-to-get-started-testing-react-applications", "published_at": "2020-04-24T20:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f22850ed6e43", "title": "7 questions to find out corner cases when fetching data from an API in a React application.", "url": "https://joaoforja.com/articles/7-questions-for-fetching-data-in-a-react-app", "published_at": "2020-04-15T16:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285622fa20", "title": "How to implement infinite scroll using React, Hooks and Intersection Observers", "url": "https://joaoforja.com/articles/how-to-implement-infinite-scroll-in-react", "published_at": "2020-04-03T09:15:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f22851b85107", "title": "A common misconception with useMemo and useCallback", "url": "https://joaoforja.com/articles/a-common-misconception-with-use-memo-and-use-callback", "published_at": "2020-03-24T09:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285518487b", "title": "How to fix CORS errors on the development environment of a React application", "url": "https://joaoforja.com/articles/how-to-fix-cors-on-dev-env-of-react-app", "published_at": "2020-03-19T07:15:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f228500f5260", "title": "4 resources to learn React under the hood", "url": "https://joaoforja.com/articles/4-resources-to-learn-react-under-the-hood", "published_at": "2020-03-12T20:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285ba2887a", "title": "Understanding the value of software can help us code better", "url": "https://joaoforja.com/articles/understanding-the-value-of-software-can-help-us-code-better", "published_at": "2020-03-09T13:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f228542f71f4", "title": "How to be more confident about the quality of the code of our React applications", "url": "https://joaoforja.com/articles/how-to-be-more-confident-about-the-quality-of-the-code-of-our-react-applications", "published_at": "2020-03-05T19:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285365d72b", "title": "How to animate an image in React when it changes", "url": "https://joaoforja.com/articles/how-to-animate-an-image-in-react-when-it-changes", "published_at": "2020-02-25T10:01:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f228568550fc", "title": "How to pass state between components", "url": "https://joaoforja.com/articles/how-to-pass-state-between-components", "published_at": "2020-02-21T22:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285d48f3e6", "title": "Why use useState functional update even when everything seems to work", "url": "https://joaoforja.com/articles/why_use_usestate_functional_update_even_when_everything_seems_to_work", "published_at": "2020-02-05T09:05:00+00:00" }, { "id": "01a0878e-b070-73cf-9676-f2285068c01f", "title": "5 steps to perform a search when user stops typing using React + Hooks in a controlled component", "url": "https://joaoforja.com/articles/5-steps-to-perform-a-search-when-user-stops-typing-using-react-+-hooks-in-a-cont", "published_at": "2020-01-21T22:12:03+00:00" }, { "id": "01a0878e-b070-73cf-9676-f22856ffcd93", "title": "How to persist state after a page refresh in React using local storage", "url": "https://joaoforja.com/articles/how-to-persist-state-after-a-page-refresh-in-react-using-local-storage", "published_at": "2019-12-10T22:12:03+00:00" } ] posts Claim your blog
Back to joaoforja.com
Blog · corpus.blog/blogs/joaoforja.com/posts

joaoforja.com

joaoforja.com

2026

2021

2020

2019