content: [API Reference](https://react.dev/reference/react)
  
  # Legacy React APIs[Link for this heading]()
  
  These APIs are exported from the `react` package, but they are not recommended for use in newly written code. See the linked individual API pages for the suggested alternatives.
  
  * * *
  
  ## Legacy APIs[Link for Legacy APIs]()
  
  - [`Children`](https://react.dev/reference/react/Children) lets you manipulate and transform the JSX received as the `children` prop. [See alternatives.](https://react.dev/reference/react/Children)
  - [`cloneElement`](https://react.dev/reference/react/cloneElement) lets you create a React element using another element as a starting point. [See alternatives.](https://react.dev/reference/react/cloneElement)
  - [`Component`](https://react.dev/reference/react/Component) lets you define a React component as a JavaScript class. [See alternatives.](https://react.dev/reference/react/Component)
  - [`createElement`](https://react.dev/reference/react/createElement) lets you create a React element. Typically, you’ll use JSX instead.
  - [`createRef`](https://react.dev/reference/react/createRef) creates a ref object which can contain arbitrary value. [See alternatives.](https://react.dev/reference/react/createRef)
  - [`forwardRef`](https://react.dev/reference/react/forwardRef) lets your component expose a DOM node to parent component with a [ref.](https://react.dev/learn/manipulating-the-dom-with-refs)
  - [`isValidElement`](https://react.dev/reference/react/isValidElement) checks whether a value is a React element. Typically used with [`cloneElement`.](https://react.dev/reference/react/cloneElement)
  - [`PureComponent`](https://react.dev/reference/react/PureComponent) is similar to [`Component`,](https://react.dev/reference/react/Component) but it skip re-renders with same props. [See alternatives.](https://react.dev/reference/react/PureComponent)
  
  * * *
  
  ## Removed APIs[Link for Removed APIs]()
  
  These APIs were removed in React 19:
  
  - [`createFactory`](https://18.react.dev/reference/react/createFactory): use JSX instead.
  - Class Components: [`static contextTypes`](https://18.react.dev//reference/react/Component): use [`static contextType`]() instead.
  - Class Components: [`static childContextTypes`](https://18.react.dev//reference/react/Component): use [`static contextType`]() instead.
  - Class Components: [`static getChildContext`](https://18.react.dev//reference/react/Component): use [`Context.Provider`](https://react.dev/reference/react/createContext) instead.
  - Class Components: [`static propTypes`](https://18.react.dev//reference/react/Component): use a type system like [TypeScript](https://www.typescriptlang.org/) instead.
  - Class Components: [`this.refs`](https://18.react.dev//reference/react/Component): use [`createRef`](https://react.dev/reference/react/createRef) instead.
  
  [NextChildren](https://react.dev/reference/react/Children)