Mehmet Karataş LogoMehmet Karataş
HomeServicesProjectsBlogAboutFunToolsCourses (TR)
Contact
Mehmet Karataş LogoMehmet Karataş

Contact

I build solutions with modern web and mobile technologies.

Contact
benmuhendisiniz@gmail.com

Diyarbakır, Türkiye — Remote services across Türkiye and abroad

Quick links

  • Home
  • Services
  • Projects
  • Blog
  • About
  • Contact
  • Fun
  • Tools
  • Courses (TR)
  • CV / Résumé (TR)

Services

  • Web Development
  • Mobile App Development
  • Custom Software Development
  • E-Commerce Websites
  • SEO and Online Visibility
  • Software and Project Consulting

© 2026 Mehmet Karataş. All rights reserved.

Privacy noticeCookie policy
HomeProjectsBlogServicesAboutFunToolsCourses (TR)
HomeBlogCase StudyWhat Is React? Building Modern Web Interfaces
All articles
Case Study
12 July 2026
19
11 min read

What Is React? Building Modern Web Interfaces

Learn how React supports modern web interfaces through components, JSX, props, state, Hooks and event handling. This guide also covers project setup, component design, backend integration, responsive layouts, performance and SEO. It explains React's strengths, limitations and the factors affecting project schedules and costs for dashboards, ecommerce, business platforms, booking systems and custom software.

Mehmet Karataş

Mehmet Karataş

Author

What Is React? Building Modern Web Interfaces

What Is React? Building Modern Web Interfaces


Filtering results without reloading a page, seeing a cart total update immediately and watching dashboard charts change with new data may now seem ordinary.

These experiences require careful interface management.

Managing every change with separate JavaScript instructions becomes difficult as buttons, accounts, notifications, tables, filters and forms interact.

This is where React helps.

What Is React?

React is a JavaScript library for building user interfaces. It divides screens into small, reusable pieces rather than treating them as one large block.

Each piece is called a component—a reusable UI component.

On an ecommerce site, individual components might include:

  • Product card

  • Search field

  • Category filter

  • Cart button

  • User menu

  • Payment forms

  • Notification box

These pieces combine into pages, dashboards and complete applications. React's documentation describes building interfaces from independent components.

Put simply:

React helps organise the visible, interactive parts of a website into manageable, reusable pieces.

Is React a Programming Language?

No.

React is a JavaScript UI library. Before learning it, familiarity with the following helps:

  • HTML

  • CSS

  • JavaScript

  • Functions

  • Arrays and objects

  • map, filter and other array methods

  • Modules

  • import and export

  • Asynchronous operations

  • How APIs work

React does not replace JavaScript; it gives JavaScript-driven interfaces a more organised architecture.

Why Use React?

A few buttons on a small website are easy to manage with plain JavaScript. More screens, users and features increase complexity.

Consider a dashboard where:

  • Users are listed.

  • Lists can be filtered.

  • Records can be added.

  • Records can be edited.

  • Available actions depend on permissions.

  • Data comes from a backend.

  • Loading indicators appear during requests.

  • Errors are explained to users.

React organises this work into components and state instead of scattered screen updates.

This can simplify reading, extending and maintaining medium-sized and larger projects.

How React Works

Think of the interface as a component tree.

A dashboard might contain the following components:

Dashboard
├── Sidebar
├── Header
│   ├── Search
│   └── UserMenu
├── Statistics
│   ├── RevenueCard
│   ├── UserCard
│   └── OrderCard
└── RecentOrders
    ├── OrderTable
    └── Pagination

Each component owns its appearance and, where needed, its behaviour.

To change a product card's design, update the ProductCard component instead of rewriting the page.

React's documentation recommends breaking the interface into components, identifying visual states and establishing data flow.

What Is a Component?

A component is a reusable piece of an interface.

It is commonly a JavaScript function that returns JSX:

function WelcomeMessage() {
  return <h1>Web sitemize hoş geldiniz</h1>;
}

Another screen can use it like this:

function HomePage() {
  return (
    <main>
      <WelcomeMessage />
      <p>Yeni projelerimizi inceleyebilirsiniz.</p>
    </main>
  );
}

Component names begin with a capital letter. Function components are recommended for new code; class components remain supported.

Why use components?

The same product card can appear on the home page, category pages and search results.

A single design update can then apply everywhere it is used, avoiding duplicated implementations.

What Is JSX?

JSX is syntax for writing HTML-like markup within JavaScript.

For example:

const userName = "Mehmet";

function Profile() {
  return <h2>Hoş geldiniz, {userName}</h2>;
}

Curly braces allow JavaScript expressions, letting the interface respond to data.

JSX is optional but widely used. Keeping markup beside rendering logic can make components easier to build and maintain.

What Are Props?

Props pass information from parent components to children.

Suppose the same card should display different products:

function ProductCard({ name, price }) {
  return (
    <article>
      <h2>{name}</h2>
      <p>{price} TL</p>
    </article>
  );
}

You can pass different values:

function Products() {
  return (
    <section>
      <ProductCard name="Kablosuz Kulaklık" price={2499} />
      <ProductCard name="Akıllı Saat" price={3899} />
    </section>
  );
}

The variable name and price are props.

Props can carry strings, numbers, objects, arrays, functions and JSX between components.

What Is State?

State is information a component remembers that can change over time.

For example:

  • A counter's value

  • Items in a cart

  • Whether a modal is open

  • The selected filter

  • Text in a form field

  • Loading status

  • Favourite status

A simple state value can be created with the useState Hook:

import { useState } from "react";

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>Sayaç: {count}</p>

      <button onClick={() => setCount(count + 1)}>
        Artır
      </button>
    </div>
  );
}

Clicking the button changes count. React renders the updated interface and displays the new result.

State preserves information between renders. useState is the Hook that adds a state variable to a component.

What Are React Hooks?

Hooks let function components use React features.

Common examples include:

Hook

Purpose

useState

Stores changing values

useEffect

Synchronises with external systems

useContext

Provides shared data to descendants

useReducer

Manages more complex state transitions

useRef

Holds DOM references or values that do not trigger rendering

Custom Hook

Shares reusable application logic

Hooks provide access to features such as state, context, refs and performance tools.

useEffect is not a general solution for every data change. The documentation explains that an Effect is often unnecessary when there is no external system to synchronise with.

How Does React Handle Interactions?

Components respond to user actions.

For example:

function ContactButton() {
  function handleClick() {
    alert("İletişim talebiniz alındı.");
  }

  return (
    <button type="button" onClick={handleClick}>
      İletişime Geç
    </button>
  );
}

JavaScript handlers manage clicks, typing, form submission, selections and pointer events.

When state changes, React determines the required interface updates and displays the new state.

The browser represents a document through the DOM, which allows JavaScript to update its content, structure and styles.

A Simple Component Example

This component receives product details as props and stores favourite status in state:

import { useState } from "react";

function ProductCard({ name, price }) {
  const [isFavorite, setIsFavorite] = useState(false);

  function toggleFavorite() {
    setIsFavorite((currentValue) => !currentValue);
  }

  return (
    <article className="product-card">
      <h2>{name}</h2>

      <p>
        {price.toLocaleString("tr-TR")} TL
      </p>

      <button type="button" onClick={toggleFavorite}>
        {isFavorite
          ? "Favorilerden çıkar"
          : "Favorilere ekle"}
      </button>
    </article>
  );
}

export default function App() {
  return (
    <main>
      <ProductCard
        name="Kablosuz Kulaklık"
        price={2499}
      />
    </main>
  );
}

The example demonstrates React's core concepts:

  • ProductCard is reusable.

  • name and price arrive through props.

  • isFavorite is changing state.

  • onClick handles interaction.

  • A conditional expression changes the button label.

Conditional rendering uses ordinary JavaScript constructs such as if, && and the ternary operator.

How to Build a Modern React Interface

Design, data, user experience, security and performance need to be planned together.

1. Define the Purpose

Clarify what the system will do.

For example:

  • Will users register?

  • Will there be different roles?

  • Will it accept payments?

  • Will it need an admin panel?

  • Can users upload files?

  • Are notifications required?

  • Will people use it on mobile devices?

Skipping these decisions can lead to major changes later.

2. Plan User Journeys

Map the steps users take through the system.

For example, a booking flow:

Hizmet seçimi
→ Tarih seçimi
→ Saat seçimi
→ Kullanıcı bilgileri
→ Ödeme
→ Rezervasyon onayı

This reveals missing screens and unnecessary steps before implementation.

3. Prepare the Design

Usability matters alongside appearance.

Consider:

  • Readable text

  • Visible buttons

  • Colour contrast

  • Mobile layouts

  • Easy-to-complete forms

  • Clear errors

  • Simple navigation

  • Clear page context

4. Divide the Design into Components

Break screens into React components.

A student tracking system might include:

StudentDashboard
├── StudentHeader
├── RiskSummary
├── ProgramList
│   └── ProgramCard
├── ExamResults
│   └── ExamResultCard
└── AppointmentList
    └── AppointmentCard

Giving each component a clear responsibility makes maintenance easier.

5. Create the Project

React's documentation recommends a suitable framework for new full applications. Developers needing their own setup can use tools such as Vite, Parcel or Rsbuild.

For example, create a React and TypeScript project with Vite:

npm create vite@latest my-app -- --template react-ts

Then:

cd my-app
npm install
npm run dev

Create React App, common in older tutorials, is deprecated for new projects. React recommends a framework or an up-to-date build tool instead.

6. Implement Components

Build buttons, cards, tables, forms, menus and modals as separate components.

A shared design system can define:

  • Colours

  • Type sizes

  • Spacing

  • Button variants

  • Form controls

  • Card styles

  • Error and success messages

This creates consistency across screens.

7. Establish State and Data Flow

Decide which component should own each piece of state.

When components need shared state, move it to their nearest common parent. React calls this lifting state up.

For data needed throughout a larger tree, consider Context or another suitable state solution.

8. Connect the Backend

React primarily handles the interface. Persistent users, orders, messages and payments require backend services.

The backend manages data behind the screens.

Responsibilities can include:

  • Registration and sign-in

  • Database queries

  • Permission checks

  • Payments

  • File uploads

  • Send notifications

  • Messaging

  • Admin data

React can work with a custom API, Node.js, Supabase, Firebase or other server technologies.

9. Design All Interface States

The interface should cover more than successful requests.

Plan for:

  • Loading

  • No results

  • Connection errors

  • Unauthorised access

  • Validation errors

  • Successful operations

  • Maintenance

Users should understand what happened and what to do next, rather than seeing an empty screen.

10. Test and Improve Performance

Test different screen sizes and usage scenarios.

Check:

  • Mobile compatibility

  • Form validation

  • Permissions

  • Slow connections

  • Large lists

  • Unnecessary renders

  • Image sizes

  • Bundle size

  • Keyboard access

  • Screen reader compatibility

Large JavaScript bundles can harm the experience, so plan module and component boundaries carefully.

Which Projects Suit React?

React can suit interaction-heavy applications such as:

  • Management dashboards

  • Customer management systems

  • Student and teacher platforms

  • Online shops

  • Booking systems

  • SaaS applications

  • Social platforms

  • Finance dashboards

  • Map applications

  • Messaging systems

  • Internal business tools

  • Membership systems

  • Reporting screens

React can also be added gradually to selected parts of an existing website without replacing the entire site.

Should Every Project Use React?

No.

An extensive React architecture may be unnecessary for a few static pages with little interaction or ongoing change.

React becomes more useful when:

  • Screens vary by user

  • Data changes frequently

  • There are many forms

  • Components are reused

  • Different roles are needed

  • The experience resembles an application or dashboard

  • The project is expected to grow

Choose technology for the requirements, not simply its popularity.

React and Next.js: What Is the Difference?

React is a UI library.

Next.js is a full-stack framework built on React. It adds routing, server rendering, data fetching, optimisation and project conventions.

React

Next.js

UI library

React framework

Focuses on components

Includes application architecture

Routing can be added separately

Provides file-based routing

Developers choose supporting tools

Many tools are integrated

Can power client-side applications

Supports both client and server code

For business sites, blogs, ecommerce and search-focused projects, React is often used through a framework such as Next.js.

Is React SEO-Friendly?

React alone does not determine SEO quality.

Relevant factors include:

  • How pages are rendered

  • Whether content is available in the initial response

  • Titles and metadata

  • Loading speed

  • Mobile compatibility

  • Semantic HTML

  • URL structure

  • Internal links

  • Structured data

  • Image optimisation

A poorly planned client-only application may create indexing difficulties for content sites. Consider server-rendered or statically generated pages when SEO is important.

Frameworks such as Next.js provide metadata and server-rendering features.

Advantages of React

Reusable Components

Share cards, forms, tables and buttons across pages.

Organised Code

Divide large screens into manageable pieces.

Interactive Experiences

Manage filtering, search, favourites, carts, modals and forms without full-page reloads.

Flexible Scope

Use it for a small interactive area or a comprehensive management platform.

Gradual Adoption

Add components to an existing project without rewriting everything.

Shared Logic

Custom Hooks can reuse stateful application logic across components.

Things to Watch Out For

Using React does not automatically ensure quality.

Good practices include:

  • Keep components reasonably focused

  • Avoid putting all data in global state

  • Keep prop passing manageable

  • Avoid unnecessary useEffect calls

  • Use appropriate list key values

  • Plan mobile layouts early

  • Handle loading and errors

  • Enforce backend security independently of the interface

  • Verify permissions on the server

  • Identify SEO requirements early

  • Plan ongoing maintenance

Rendering should produce predictable results from the same inputs. Keeping components and Hooks pure during rendering makes behaviour easier to understand and reduces bugs.

How Long Does a React Project Take?

The scope determines the schedule.

A simple business interface may take weeks. Roles, payments, messaging, reports and admin tools can extend the timeline.

The main factors include:

  • Page and screen count

  • Whether designs are ready

  • User roles

  • Backend requirements

  • Admin tools

  • Payment system

  • Notifications

  • Maps and location features

  • Messaging

  • File uploads

  • Charts and reports

  • Mobile compatibility

  • Testing

  • Deployment infrastructure

Prepare the feature list and journeys before estimating delivery.

What Determines Cost?

Page count alone is insufficient.

Projects with the same number of screens may have very different technical requirements.

An information-only dashboard differs from one with payments, live messaging and multiple roles.

Factors include:

  • Custom versus existing design

  • Number of screens

  • User roles

  • Authorisation

  • Data model

  • Backend development

  • Admin panel

  • External integrations

  • Payment infrastructure

  • Notifications

  • Real-time features

  • Reporting

  • Security

  • Testing

  • Hosting and deployment

  • Maintenance and future development

A clear scope document helps both the developer and project owner.

React Interface Development Services

A React project involves more than implementing screens.

Plan these areas together:

  • User experience

  • Interface design

  • Component architecture

  • Backend development

  • Database structure

  • Admin tools

  • Authorisation

  • Security

  • Performance

  • Mobile compatibility

  • SEO

  • Deployment

  • Maintenance and further development

Start a new platform, dashboard or custom application by defining requirements and user journeys.

Ben Mühendisiniz can help plan React and Next.js interfaces, backend systems, admin panels and custom software. The goal is a usable, manageable system that can evolve over time.

Conclusion

The simplest explanation of React is:

A JavaScript library for building modern, interactive interfaces with reusable components.

It provides a useful foundation for dashboards, user platforms, ecommerce, booking systems and larger web applications.

Evaluate screens, roles, backend requirements, SEO, budget and growth plans rather than choosing by popularity alone.

With sound planning, React supports organised, maintainable and user-focused interfaces.


Frequently Asked Questions

Is React frontend or backend?

React is primarily used for the user-facing interface. Databases, authentication and payments also require backend services.

Do I need JavaScript before learning React?

Yes. Understand functions, arrays, objects, modules and asynchronous operations first.

Is React a framework?

React describes itself as a UI library. Next.js is an example of a framework built on React.

Can React build mobile apps?

React for the web does not directly produce native mobile interfaces. React Native applies React's component model to native mobile development.

How long does a React website take?

Design, screens, roles, backend services, payments, admin tools and integrations determine the schedule. Simple projects may take weeks; larger platforms may take months.

Are React sites automatically mobile-friendly?

No. They still need responsive CSS and layouts designed for different screen sizes.

Can React build an admin panel?

Yes. It can support user management, content editing, payment tracking, reports and permission-based interfaces.

Can React and Next.js be used together?

Yes. Next.js uses React components to build full-stack web applications.

Is maintenance needed after launch?

Yes. Security and package updates, performance work, bug fixes and new features require regular maintenance.

Comments (0)

No comments yet. Be the first!

Leave a comment

Write a comment
Mehmet Karataş

Mehmet Karataş

Computer Engineer

About me
Related articles
  • What Are Frontend and Backend? Their Differences and Roles in a Software Project

    What are frontend and backend, how do they differ and what do they do in a software project? This guide explains the visible and hidden parts of software, from user screens to servers that store data. If you are planning a website, mobile app, dashboard or custom application, learn how interfaces, APIs, databases, accounts, payments and security affect development. We also explore what determines frontend and backend costs, when both are needed and what to define before starting.

  • What Is Node.js? Its Role in Backend Development

    Node.js is an open-source runtime that runs JavaScript outside the browser, including on servers. It can power APIs for websites, mobile apps, dashboards and real-time systems. This guide explains its execution model, event loop, database connections, authentication, messaging and API development, along with suitable use cases, limitations and planning considerations.

Back to blog Work with me
  • What Is Next.js? Why It Matters for Modern, SEO-Friendly Websites

    Next.js is a comprehensive React framework for building fast, modern, secure and SEO-friendly websites. Server rendering and pre-rendering can make content easier for search engines to access. It provides organised ways to manage titles, descriptions, social images, sitemaps, robots.txt, structured data and image optimisation. Using Next.js alone does not guarantee high search rankings. Good results also require useful content, appropriate keywords, mobile usability, security, performance and a strong user experience.

  • Explore projects