Getting Started with the KendoReact Editor

This guide provides essential information about using the KendoReact Editor package. You will learn how to install the Editor package, add a React Editor component, part of KendoReact, to your project, style the component, and activate your license.

ninja-iconThe Editor is part of KendoReact, a professional grade UI library with 110+ components for building modern and feature-rich applications. To try it out sign up for a free 30-day trial.Start Free Trial

After completing this guide, you will be able to reproduce the following example.

Change Theme
Theme
Loading ...

Setting Up Your React Project

Before you install the KendoReact Editor, make sure that you have a running React project. The easiest way to set up a React project is to use the Create React App approach that is described in the Get Started with KendoReact article.

Installing the Editor Package

All KendoReact packages are distributed through npm and offer a similar installation experience. To use the React Editor component, part of KendoReact, start with the installation of the KendoReact Editor npm package and its dependencies. Use Node.js v5.0.0 or later.

sh
npm install --save @progress/kendo-react-editor @progress/kendo-react-intl @progress/kendo-react-buttons @progress/kendo-react-dropdowns @progress/kendo-react-dialogs @progress/kendo-react-inputs @progress/kendo-react-layout @progress/kendo-react-popup @progress/kendo-react-pdf @progress/kendo-react-progressbars @progress/kendo-drawing @progress/kendo-licensing @progress/kendo-svg-icons

Importing the Component

After installing the package, import the Editor component in the React App.

In the src/App.js file of your React project, import the Editor and EditorTools components from the Editor package. The EditorTools provide different built-in user-interface tools that help users modify the content.

jsx
// ES2015 module syntax
import { Editor, EditorTools } from '@progress/kendo-react-editor';
jsx
// CommonJS format
const { Editor, EditorTools } = require('@progress/kendo-react-editor');

Using the Component

  1. Define the editor tools that you want to enable.

    jsx
    const {
        Bold,
        Italic,
        Underline,
        AlignLeft,
        AlignRight,
        AlignCenter,
        Indent,
        Outdent,
        OrderedList,
        UnorderedList,
        Undo,
        Redo,
        Link,
        Unlink
    } = EditorTools;
  2. Add the component's markup to the src/App.js file in your project and set the tools. Optionally, configure the height of the Editor component.

    jsx
    return (
        <Editor
            tools={[
                [Bold, Italic, Underline],
                [Undo, Redo],
                [Link, Unlink],
                [AlignLeft, AlignCenter, AlignRight],
                [OrderedList, UnorderedList, Indent, Outdent]
            ]}
            contentStyle={{
                height: 320
            }}
            defaultContent={content}
        />
    );
  3. To style the Editor, install and import the Default theme, which is one of the three beautiful themes for KendoReact.

    3.1. Install the Default theme package.

    sh
    npm install --save @progress/kendo-theme-default

    3.2. Import the CSS file from the package in src/App.js. Add this import before your existing App.css import.

    jsx
    import '@progress/kendo-theme-default/dist/all.css';
  4. Build and run the application by typing the following command in the root folder of your project:

    sh
    npm start
  5. Navigate to http://localhost:3000 to see the KendoReact Editor component on the page.

Activating Your License Key

Using any of the UI components in the KendoReact library requires either a commercial license key or an active trial license key.

Follow the instructions on the KendoReact My License page to activate your trial or commercial license. You can skip this step if your application already contains a KendoReact license file.

Dependencies

The Editor package requires you to install the following peer dependencies in your application:

Package NameDescription
react 16.8.2*Contains the functionality necessary to define React components.
react-domContains the React renderer for the web.
@progress/kendo-licensingContains the internal infrastructure related to licensing.
@progress/kendo-drawingContains the KendoReact Drawing components.
@progress/kendo-react-buttonsContains the KendoReact Buttons components.
@progress/kendo-react-dialogsContains the KendoReact Dialogs components.
@progress/kendo-react-dropdownsContains the KendoReact Dropdowns components.
@progress/kendo-react-inputsContains the KendoReact Inputs components.
@progress/kendo-react-intlContains the KendoReact Internationalization package that applies the desired cultures by providing services and pipes for the parsing and formatting of dates and numbers.
@progress/kendo-react-layoutContains the KendoReact Layout components.
@progress/kendo-react-pdfContains the KendoReact PDF components.
@progress/kendo-react-popupContains the KendoReact Popup components.
@progress/kendo-react-progressbarsContains the KendoReact Progressbars components.
@progress/kendo-svg-iconsContains the KendoReact SVG icons.

Learning Resources