WordPress.org
  • News
  • Showcase
  • Hosting
    • Themes
    • Plugins
    • Patterns
    • Blocks
    • Openverse ↗︎
    • Learn WordPress
    • Documentation
    • Forums
    • Developers
    • WordPress.tv ↗︎
    • Make WordPress
    • Photo Directory
    • Five for the Future
    • Events
    • Job Board ↗︎
    • About WordPress
    • Enterprise
    • Gutenberg ↗︎
  • Get WordPress
Get WordPress
WordPress.org

WordPress Developer Resources

HigherOrder

  • Developer Blog
  • Code Reference
  • WP-CLI Commands
  • Developer Blog
  • Code Reference
  • WP-CLI Commands
HomeBlock Editor HandbookReference GuidesComponent ReferenceHigherOrder

HigherOrder

↑ Back to top

This directory includes a library of generic Higher Order React Components.

Learn more about Higher Order Components

First published

March 9, 2021

Last updated

October 30, 2024

Edit article

Improve it on GitHub: HigherOrder

Previous NavigateRegions Previous: NavigateRegions
Next WithConstrainedTabbing Next: WithConstrainedTabbing

Chapters

  • Block Editor Handbook
  • Getting Started
    • Block Development Environment
      • Node.js development environment
      • Get started with wp-env
      • Get started with create-block
      • Get started with wp-scripts
    • Quick Start Guide
    • Tutorial: Build your first block
    • Fundamentals of Block Development
      • File structure of a block
      • block.json
      • Registration of a block
      • The block wrapper
      • The block in the Editor
      • Markup representation of a block
      • Static or Dynamic rendering of a block
      • Working with JavaScript for the Block Editor
    • Glossary
    • Frequently Asked Questions
  • How-to Guides
    • Accessibility
    • Blocks
      • Use styles and stylesheets
      • Creating dynamic blocks
      • Nested Blocks: Using InnerBlocks
      • Extending the Query Loop block
    • Development Platform
      • Building a custom block editor
    • Create your First App with Gutenberg Data
      • Setup
      • Building a list of pages
      • Building an edit form
      • Building a Create page form
      • Adding a delete button
    • Curating the Editor Experience
      • Block Locking API
      • Patterns
      • theme.json
      • Filters and hooks
      • Disable Editor functionality
    • Enqueueing assets in the Editor
    • Feature Flags
    • Formatting Toolbar API
    • Internationalization
    • Meta Boxes
    • Notices
    • Plugin Sidebar
    • Propagating updates for block types
    • Themes
      • Global Settings & Styles (theme.json)
      • Theme Support
    • Thunks in Core-Data
    • Widgets
      • Widgets Block Editor overview
      • Restoring the classic Widgets Editor
      • About the Legacy Widget block
  • Reference Guides
    • Block API Reference
      • Annotations
      • API Versions
      • Attributes
      • Bindings
      • Context
      • Deprecation
      • Edit and Save
      • Metadata in block.json
      • Patterns
      • Registration
      • Selectors
      • Styles
      • Supports
      • Templates
      • Transforms
      • Variations
    • Core Blocks Reference
    • Hooks Reference
      • Block Filters
      • Editor Hooks
      • i18n Filters
      • Parser Filters
      • Autocomplete
      • Global Styles Filters
    • Interactivity API Reference
      • Core Concepts
        • The Reactive and Declarative mindset
        • Understanding global state, local context and derived state
        • Server-side rendering: Processing directives on the server
        • Using TypeScript
      • Quick start guide
      • API Reference
      • About the Interactivity API
      • Frequently Asked Questions
    • SlotFills Reference
      • MainDashboardButton
      • PluginBlockSettingsMenuItem
      • PluginDocumentSettingPanel
      • PluginMoreMenuItem
      • PluginPostPublishPanel
      • PluginPostStatusInfo
      • PluginPrePublishPanel
      • PluginSidebar
      • PluginSidebarMoreMenuItem
    • RichText Reference
    • Theme.json Reference
      • Theme.json Version 3 Reference (latest)
      • Theme.json Version 1 Reference
      • Theme.json Version 2 Reference
      • Migrating Theme.json to Newer Versions
      • Available Styles Options
    • Component Reference
      • BaseField
      • AlignmentMatrixControl
      • AnglePickerControl
      • Animate
      • Autocomplete
      • BaseControl
      • BorderBoxControl
      • BorderControl
      • BoxControl
      • ButtonGroup
      • Button
      • CardBody
      • CardDivider
      • CardFooter
      • CardHeader
      • CardMedia
      • Card
      • CheckboxControl
      • CircularOptionPicker
      • ClipboardButton
      • ColorIndicator
      • ColorPalette
      • ColorPicker
      • ComboboxControl
      • Composite
      • ConfirmDialog
      • CustomSelectControl
      • Flyout
      • Dashicon
      • DateTime
      • DimensionControl
      • Disabled
      • Divider
      • Draggable
      • DropZone
      • DropdownMenu
      • Dropdown
      • DuotonePicker
      • Elevation
      • ExternalLink
      • FlexBlock
      • FlexItem
      • Flex
      • FocalPointPicker
      • FocusableIframe
      • FontSizePicker
      • FormFileUpload
      • FormToggle
      • FormTokenField
      • GradientPicker
      • Grid
      • Guide
      • HStack
      • Heading
      • NavigateRegions
      • HigherOrder
      • WithConstrainedTabbing
      • WithFallbackStyles
      • WithFilters
      • WithFocusOutside
      • WithFocusReturn
      • WithNotices
      • WithSpokenMessages
      • Icon
      • InputControl
      • IsolatedEventContainer
      • ItemGroup
      • Item
      • KeyboardShortcuts
      • MenuGroup
      • MenuItem
      • MenuItemsChoice
      • Modal
      • NavigableContainer
      • Navigation
      • Navigator
      • Notice
      • NumberControl
      • Panel
      • Placeholder
      • Popover
      • ProgressBar
      • QueryControls
      • RadioControl
      • RadioGroup
      • RangeControl
      • ResizableBox
      • ResizeTooltip
      • ResponsiveWrapper
      • Sandbox
      • ScrollLock
      • Scrollable
      • SearchControl
      • SelectControl
      • SlotFill
      • Snackbar
      • Spacer
      • Spinner
      • Surface
      • TabPanel
      • TextControl
      • TextHighlight
      • Text
      • TextareaControl
      • ToggleControl
      • ToggleGroupControlOptionBase
      • ToggleGroupControlOptionIcon
      • ToggleGroupControlOption
      • ToggleGroupControl
      • ToolbarButton
      • ToolbarDropdownMenu
      • ToolbarGroup
      • ToolbarItem
      • Toolbar
      • ToolsPanelHeader
      • ToolsPanelItem
      • ToolsPanel
      • Tooltip
      • TreeGrid
      • TreeSelect
      • Truncate
      • UnitControl
      • VStack
      • VisuallyHidden
      • ZStack
    • Package Reference
      • @wordpress/a11y
      • @wordpress/annotations
      • @wordpress/api-fetch
      • @wordpress/autop
      • @wordpress/babel-plugin-import-jsx-pragma
      • @wordpress/babel-plugin-makepot
      • @wordpress/babel-preset-default
      • @wordpress/base-styles
      • @wordpress/blob
      • @wordpress/block-directory
      • @wordpress/block-editor
      • @wordpress/block-library
      • @wordpress/block-serialization-default-parser
      • @wordpress/block-serialization-spec-parser
      • @wordpress/blocks
      • @wordpress/browserslist-config
      • @wordpress/custom-templated-path-webpack-plugin
      • @wordpress/commands
      • @wordpress/components
      • @wordpress/compose
      • @wordpress/core-commands
      • @wordpress/core-data
      • @wordpress/create-block-interactive-template
      • @wordpress/create-block-tutorial-template
      • @wordpress/create-block
        • External Project Templates
      • @wordpress/customize-widgets
      • @wordpress/data-controls
      • @wordpress/data
      • @wordpress/dataviews
      • @wordpress/date
      • @wordpress/dependency-extraction-webpack-plugin
      • @wordpress/deprecated
      • @wordpress/docgen
      • @wordpress/dom-ready
      • @wordpress/experiments
      • @wordpress/dom
      • @wordpress/e2e-test-utils-playwright
      • @wordpress/e2e-test-utils
      • @wordpress/e2e-tests
      • @wordpress/edit-post
      • @wordpress/edit-site
      • @wordpress/edit-widgets
      • @wordpress/editor
      • @wordpress/element
      • @wordpress/env
      • @wordpress/escape-html
      • @wordpress/eslint-plugin
      • @wordpress/fields
      • @wordpress/format-library
      • @wordpress/hooks
      • @wordpress/library-export-default-webpack-plugin
      • @wordpress/html-entities
      • @wordpress/i18n
      • @wordpress/icons
      • @wordpress/interactivity-router
      • @wordpress/interactivity
      • @wordpress/interface
      • @wordpress/is-shallow-equal
      • @wordpress/jest-console
      • @wordpress/jest-preset-default
      • @wordpress/jest-puppeteer-axe
      • @wordpress/keyboard-shortcuts
      • @wordpress/keycodes
      • @wordpress/lazy-import
      • @wordpress/list-reusable-blocks
      • @wordpress/media-utils
      • @wordpress/notices
      • @wordpress/npm-package-json-lint-config
      • @wordpress/nux
      • @wordpress/patterns
      • @wordpress/plugins
      • @wordpress/postcss-plugins-preset
      • @wordpress/postcss-themes
      • @wordpress/preferences-persistence
      • @wordpress/preferences
      • @wordpress/prettier-config
      • @wordpress/primitives
      • @wordpress/priority-queue
      • @wordpress/private-apis
      • @wordpress/project-management-automation
      • @wordpress/react-i18n
      • @wordpress/readable-js-assets-webpack-plugin
      • @wordpress/redux-routine
      • @wordpress/reusable-blocks
      • @wordpress/rich-text
      • @wordpress/router
      • @wordpress/scripts
      • @wordpress/server-side-render
      • @wordpress/shortcode
      • @wordpress/style-engine
        • @wordpress/style-engine Using the Style Engine to generate block supports styles
      • @wordpress/stylelint-config
      • @wordpress/sync
      • @wordpress/token-list
      • @wordpress/undo-manager
      • @wordpress/upload-media
      • @wordpress/url
      • @wordpress/viewport
      • @wordpress/warning
      • @wordpress/widgets
      • @wordpress/wordcount
    • Data Module Reference
      • WordPress Core Data
      • Annotations
      • Block directory
      • The Block Editor’s Data
      • Block Types Data
      • The Commands Data
      • Customize Widgets
      • The Editor’s UI Data
      • Edit Site
      • Edit Widgets
      • The Post Editor’s Data
      • The Keyboard Shortcuts Data
      • Notices Data
      • The NUX (New User Experience) Data
      • Preferences
      • Reusable blocks
      • Rich Text
      • The Viewport Data
  • Explanations
    • Architecture
      • Key Concepts
      • Data Flow and Data Format
      • Entities and Undo/Redo.
      • Modularity
      • Performance
      • Automated Testing
      • Site Editing Templates
      • Styles in the Editor
    • User Interface
      • Block Design
      • Animation
      • Resources
    • History
  • Contributor Guide
    • Code Contributions
      • Getting Started With Code Contribution
      • Git Workflow
      • Coding Guidelines
      • Testing Overview
        • End-to-End Testing
          • Migration guide
          • Overusing snapshots
      • Scripts
      • Managing Packages
      • Gutenberg Release Process
        • Cherry-picking automation
      • React Native mobile editor
        • Getting Started for the React Native based Mobile Gutenberg
        • Setup guide for React Native development (macOS)
        • React Native Integration Test Guide
        • React Native Internationalization Guide
      • Backward Compatibility
      • Deprecations
      • How To Get Your Pull Request Reviewed?
    • Design Contributions
      • Blocks are the Interface
    • Documentation Contributions
      • Copy Guidelines
    • Triage
    • Localizing Gutenberg
    • Accessibility Testing
    • Repository Management
    • Folder Structure
    • Gutenberg versions in WordPress
  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Documentation
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org
  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
Code is Poetry