ReactJS Onsen-UI is a popular front-end library with a set of React components that are designed to developing HTML5 hybrid and mobile web apps in a beautiful and efficient way. LazyList components are used when millions of items are to be rendered without a drop in performance. We can use the following approach in ReactJS to use the Onsen-UI LazyList Component.
LazyList Props:
- modifier: It is used to denote the appearance of the lazy list.
- length: It is used to denote the length of the list.
- renderRow: It is a function that takes the index of the display row, renders it.
- calculateItemHeight: It is a function that takes the index of the row, returns the height of it.
Creating React Application And Installing Module:
-
Step 1: Create a React application using the following command:
npx create-react-app foldername
-
Step 2: After creating your project folder i.e. foldername, move to it using the following command:
cd foldername
-
Step 3: After creating the ReactJS application, Install the required module using the following command:
npm install onsenui react-onsenui
Project Structure: It will look like the following.
Example: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.
App.js
import React from 'react' ; import 'onsenui/css/onsen-css-components.css' ; import { LazyList, Page, ListItem } from 'react-onsenui' ; export default function App() { return ( <div style={{ display: 'block' , width: 500, paddingLeft: 30 }}> <Page > <div style={{ height: 100 }}> <h6>ReactJS Onsen-UI LazyList Component</h6> <LazyList length={5} renderRow={(index) => <ListItem modifier= "material" key={index}> { 'Sample Content: ' + index} </ListItem> } calculateItemHeight={() => 5} /> </div> </Page> </div> ); } |
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
Reference: https://onsen.io/v2/api/react/LazyList.html