Posts

Passing Data Between Components in React

For the last several years, React has been undoubtedly the leading UI library for building user interfaces. So much so that it inspired supporting libraries and frameworks of its own, such as Next.js to build full-stack applications, utilize server-side rendering, SSGs, and more. React is founded on several programming concepts. One of them is reusable components, that are essentially self-contained chunks of HTML, CSS, and dynamic JavaScript code to render a small part of the website. You can also think of components as bricks to build a house (a full web application). Building even remotely successful web application requires a thorough understanding of component trees. Communication between components is especially important, especially because some components might hold the data other components need. In this blog post, I want to explain props as a way to share data in component trees in React. Understanding Components in React Components are foundational feature to React. They h...

Why Choose React for Your App

  In the last few years, React has emerged as the leading tool to build modern and interactive applications for browsers, smartphones, and even desktop computers. React wasn't always the dominant force it is today, so we need to understand the reasons behind the rise of React and what makes it so special to warrant all this attention.  This guide will also act as a list of reasons for why you should consider using (or switching to) React for the upcoming projects. Versatility and Cross-Platform Development React started out as a tool for web development, but its capabilities quickly expanded to native smartphone and desktop app development. React Native allows you to use familiar and friendly React syntax to build apps for two most popular operating systems on smartphones - iOS and Android. Electron is another framework that, in turn, facilitates the development of desktop applications.  Thus by learning React, software developers essentially gain the ability to code ...