Getting Started with Syncfusion® React Components in Preact
29 Jan 20265 minutes to read
This article outlines the steps required to set up a Preact project and integrate Syncfusion® React components.
Preact is a fast, lightweight JavaScript library that provides a modern API similar to React. It is optimized for minimal file size and fast performance, making it well-suited for projects where load time and bundle size are important.
Prerequisites
System requirements for Syncfusion® React UI components
Set up the Preact project
To create a new Preact project, use one of the commands that are specific to either NPM or Yarn.
npm init preact@latestor
yarn create preactUsing one of the above commands will lead you to set up additional configurations for the project, as below:
Step 1: Define the project name - You can specify the name of the project directly. Let’s specify the name of the project as my-project for this article.
T Preact - Fast 3kB alternative to React with the same modern API
|
* Project directory:
| my-project
—Step 2: Choose the project language - Select JavaScript as the framework variant to build this Preact project using JavaScript.
T Preact - Fast 3kB alternative to React with the same modern API
|
* Project language:
| > JavaScript
| TypeScript
—Step 3: Configure project options - Configure the project as shown below for this article.
T Preact - Fast 3kB alternative to React with the same modern API
|
* Use router?
| Yes / > No
—
|
* Prerender app (SSG)?
| Yes / > No
—
|
* Use ESLint?
| Yes / > No
—Step 4: Navigate to the project directory - After completing the above steps to create my-project, navigate to the project directory using the following command:
cd my-projectEnsure your HTML has a mount point for the app. For example, in index.html add:
<div id="app"></div>Now that my-project is ready to run with default settings, let’s add Syncfusion® components to the project.
Install Syncfusion® React packages
Syncfusion® React component packages are available at npmjs.com. To use Syncfusion® React components in the project, install the corresponding npm package.
This guide uses the React Grid component as an example. To install the React Grid component package, use the following command:
npm install @syncfusion/ej2-react-grids --saveor
yarn add @syncfusion/ej2-react-gridsImport Syncfusion® CSS styles
Themes for Syncfusion® React components can be added using CSS or SASS styles in the npm packages. Additional options are available via CDN or the Theme Studio. See the themes documentation for full details.
This example uses the Tailwind 3 theme, imported in the src/style.css file:
@import "../node_modules/@syncfusion/ej2-base/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css";
@import "../node_modules/@syncfusion/ej2-react-grids/styles/tailwind3.css";Note: The order of importing CSS styles should be in line with its dependency graph. The Grid component requires CSS from multiple packages because it depends on other Syncfusion components for its full functionality.
Add a Syncfusion® React component
Follow the below steps to add the React Grid component to the Preact project:
Step 1: Import the Grid component and its required directives in the src/index.jsx file.
import { GridComponent, ColumnsDirective, ColumnDirective } from '@syncfusion/ej2-react-grids';Step 2: Define the Grid component with the dataSource property and column definitions. Declare the values for the dataSource property.
import { render } from 'preact';
import { ColumnDirective, ColumnsDirective, GridComponent } from '@syncfusion/ej2-react-grids';
import './style.css';
export function App() {
const data = [
{
OrderID: 10248, CustomerID: 'VINET', EmployeeID: 5, ShipCountry: 'France', Freight: 32.38
},
{
OrderID: 10249, CustomerID: 'TOMSP', EmployeeID: 6, ShipCountry: 'Germany', Freight: 11.61
},
{
OrderID: 10250, CustomerID: 'HANAR', EmployeeID: 4, ShipCountry: 'Brazil', Freight: 65.83
}
];
return (
<GridComponent dataSource={data}>
<ColumnsDirective>
<ColumnDirective field='OrderID' width='100' textAlign="Right"/>
<ColumnDirective field='CustomerID' width='100'/>
<ColumnDirective field='EmployeeID' width='100' textAlign="Right"/>
<ColumnDirective field='Freight' width='100' format="C2" textAlign="Right"/>
<ColumnDirective field='ShipCountry' width='100'/>
</ColumnsDirective>
</GridComponent>
);
}
render(<App />, document.getElementById('app'));Run the project
To run the project, use the following command:
npm run devor
yarn run devThe output will appear as follows:
