Matyas.
ServicesProjectsExperienceBlogContact
CSGet in touch
Back to Dictionary
reactweb-dev

Controlled Component

A controlled component is a form element in React whose value is driven by React state rather than the DOM's own internal state. The component's value is set through a value prop and updated via an onChange handler, giving React full control over the form data. This pattern enables validation on every keystroke, conditional disabling of submit buttons, and enforcing input formats, making it the recommended approach for most form handling in React applications.

#react#web-dev

Related Terms

Redux

Redux is a predictable state management library that stores the entire application state in a single immutable store, updated exclusively through dispatched actions and pure reducer functions. Redux Toolkit (RTK) is now the recommended way to use Redux, dramatically reducing boilerplate with utilities like `createSlice` and `createAsyncThunk`. While Redux remains popular in large enterprise applications that benefit from strict unidirectional data flow and time-travel debugging, lighter alternatives like Zustand have gained ground for simpler use cases.

Tree Shaking

Tree shaking is a dead code elimination technique used by modern bundlers like Webpack, Rollup, and esbuild to remove unused exports from the final JavaScript bundle. It relies on the static structure of ES module `import`/`export` syntax to determine which code is actually referenced and safely discard the rest. For tree shaking to work effectively, libraries must use ESM format and avoid side effects in their module initialization, which is why the `sideEffects` field in `package.json` matters.

Drag and Drop

Drag and drop is an interaction pattern that lets users move, reorder, or transfer UI elements by clicking (or touching), holding, and dragging them to a new position. It's used for file uploads, kanban boards, sortable lists, and layout builders. The HTML Drag and Drop API provides native browser support, while libraries like dnd-kit and react-beautiful-dnd offer more polished, accessible, and touch-friendly implementations.

CSS Grid

CSS Grid is a two-dimensional layout system that lets you define rows and columns simultaneously, making it ideal for complex page layouts. Unlike Flexbox which works in one axis at a time, Grid allows you to place items precisely in both horizontal and vertical directions using named areas or line numbers. Features like `grid-template-areas`, `auto-fill`, and `minmax()` make it possible to create responsive layouts with minimal code.

State Management

State management refers to the strategies and tools used to handle, store, and synchronize application data across components in a frontend application. In React, state can live locally in components via `useState`, be shared via Context, or be managed by external libraries like Redux, Zustand, Jotai, or Recoil. Choosing the right state management approach depends on your app's complexity — many apps over-adopt heavy solutions when simpler patterns would suffice.

CSS-in-JS

CSS-in-JS is an approach where styles are written directly in JavaScript files, often co-located with the components they style. Libraries like Styled Components, Emotion, and Stitches generate unique class names at build time or runtime, eliminating style conflicts. While it enables dynamic styling based on props and full encapsulation, the trend has shifted toward zero-runtime solutions and utility-first CSS due to performance concerns.

All Words
Matyas.

Web apps, mobile apps, AI automation. I help businesses save time and money with tech that actually works.

Links

  • Services
  • Projects
  • Experience
  • Blog
  • Dictionary
  • Contact

Coming Soon

  • Case StudiesSoon
  • Resources

© 2026 Matyas Prochazka. All rights reserved.