Getting Started with Syncfusion® React Components in Preact
20 Aug 20255 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 preactor
yarn init preactUsing one of the above commands will lead you to set up additional configurations for the project, as below:
1. Define the project name: We 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
—2. Choose JavaScript as the framework variant to build this Preact project using JavaScript and React.
T Preact - Fast 3kB alternative to React with the same modern API
|
* Project language:
| > JavaScript
| TypeScript
—3. Then configure the project as 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
—5. Upon completing the aforementioned steps to create my-project, run the following command to jump into the project directory:
cd my-projectNow 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 article uses the React Grid component as an example. To use the React Grid component in the project, the @syncfusion/ej2-react-grids package needs to be installed using 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 Material 3 theme, imported in the src/style.css file:
@import "../node_modules/@syncfusion/ej2-base/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-buttons/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-calendars/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-dropdowns/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-inputs/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-navigations/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-popups/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-react-grids/styles/material3.css";The order of importing CSS styles should be in line with its dependency graph.
Add a Syncfusion® React component
Follow the below steps to add the React Grid component to the Vite project:
1. Before adding the Grid component to your markup, import the Grid component in the src/index.jsx file.
import { GridComponent, ColumnsDirective, ColumnDirective } from '@syncfusion/ej2-react-grids';2. Then, 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:
