Search results

Getting started with React ImageEditor component

31 Jan 2023 / 2 minutes to read

This section explains how to create and configure a simple React Image Editor component.

To get start quickly with Image Editor Component using React, you can check on this video:

Dependencies

The list of dependencies required to use the Image Editor component in your application is given below:

Copied to clipboard
|-- @syncfusion/ej2-react-image-editor
    |-- @syncfusion/ej2-react-base
    |-- @syncfusion/ej2-base
    |-- @syncfusion/ej2-image-editor
    |-- @syncfusion/ej2-inputs
    |-- @syncfusion/ej2-buttons
    |-- @syncfusion/ej2-navigations
    |-- @syncfusion/ej2-popups
    |-- @syncfusion/ej2-splitbuttons

Installation and Configuration

You can use Create-react-app to setup the applications. To install create-react-app run the following command.

Copied to clipboard
npm install -g create-react-app

Start a new project using create-react-app command as follows,

Copied to clipboard
create-react-app quickstart --scripts-version=react-scripts-ts

cd quickstart
Copied to clipboard
create-react-app quickstart

cd quickstart

Adding Syncfusion packages

All the available Essential JS 2 packages are published in npmjs.com public registry.

To install Image Editor component, use the following command.

Copied to clipboard
npm install @syncfusion/ej2-react-image-editor --save

‘react-scripts-ts’ is used for creating React app with typescript.

Adding Image Editor component to the Application

To include the Image Editor component in your application import the ImageEditorComponent from ej2-react-image-editor package in App.tsx.

Add the Image Editor component in application as shown in below code example.

Copied to clipboard
import { ImageEditorComponent } from '@syncfusion/ej2-react-image-editor';
import * as ReactDOM from 'react-dom';
import * as React from 'react';

function App() {

  return (
      <div id="wrapperDiv">
          <ImageEditorComponent/>
      </div>
  );
}
export default App;
Copied to clipboard
import { ImageEditorComponent } from '@syncfusion/ej2-react-image-editor';
import * as React from 'react';
function App() {
    return (<div id="wrapperDiv">
          <ImageEditorComponent />
      </div>);
}
export default App;

Adding CSS Reference

Import the Image Editor component’s required CSS references as follows in src/App.css.

Copied to clipboard
@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";
@import "../node_modules/@syncfusion/ej2-popups/styles/material.css";
@import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css";
@import "../node_modules/@syncfusion/ej2-inputs/styles/material.css";
@import "../node_modules/@syncfusion/ej2-navigations/styles/material.css";
@import "../node_modules/@syncfusion/ej2-image-editor/styles/material.css";

Run the application

Run the application in the browser using the following command:

Copied to clipboard
npm start

The following example shows a basic Image Editor component.

Source
Preview
app.jsx
index.html
app.tsx
Copied to clipboard
import { ImageEditorComponent } from '@syncfusion/ej2-react-image-editor';
import * as React from 'react';
import * as ReactDOM from "react-dom";
function App() {
    return (<div id="wrapperDiv">
          <ImageEditorComponent />
      </div>);
}
export default App;
ReactDOM.render(<App />, document.getElementById('image-editor'));
Copied to clipboard
<!DOCTYPE html>
<html lang="en">

<head>
            
    <title>Syncfusion React Image Editor</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Essential JS 2 for React Components" />
    <meta name="author" content="Syncfusion" />
    <link href="//cdn.syncfusion.com/ej2/20.4.38/ej2-base/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/20.4.38/ej2-buttons/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/20.4.38/ej2-splitbuttons/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/20.4.38/ej2-popups/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/20.4.38/ej2-inputs/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/20.4.38/ej2-navigations/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/20.4.38/ej2-image-editor/styles/material.css" rel="stylesheet" />
	<link href="index.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
    <script src="systemjs.config.js"></script>
</head>

<body>
        <div id='image-editor'>
            <div id='loader'>Loading....</div>
        </div>
</body>

</html>
Copied to clipboard
import { ImageEditorComponent } from '@syncfusion/ej2-react-image-editor';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {

  return (
      <div id="wrapperDiv">
          <ImageEditorComponent/>
      </div>
  );
}
export default App;
ReactDOM.render(<App />, document.getElementById('image-editor'));

You can also explore our React Image Editor example that shows how to render the Image Editor in React.