# Business Events Grid React ```javascript import React, { useState, useEffect } from 'react'; import { Grid, Paper } from '@material-ui/core'; const DataGrid = ({ endpoint, token, limit = 1000, requestBody }) => { const [items, setItems] = useState([]); useEffect(() => { const eventSource = new EventSource(endpoint, { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}`, }, body: JSON.stringify(requestBody), }); eventSource.onmessage = (event) => { const newItem = JSON.parse(event.data); setItems((prevItems) => { const updatedItems = [...prevItems, newItem]; if (updatedItems.length > limit) { return updatedItems.slice(-limit); } return updatedItems; }); }; eventSource.onerror = (error) => { console.error('SSE error:', error); }; return () => { eventSource.close(); }; }, [endpoint, token, limit, requestBody]); return ( <Grid container spacing={2}> {items.map((item) => ( <Grid item xs={12} sm={6} md={4} key={item.id}> <Paper elevation={3} className="grid-item"> {/* Render your item data */} <h3>{item.name}</h3> <p>{item.description}</p> </Paper> </Grid> ))} </Grid> ); }; export default DataGrid; ``` ```javascript= import DataGrid from './DataGrid'; const App = () => { const token = 'your_jwt_token'; const requestBody = { // Your request body data }; return ( <div> <DataGrid endpoint="https://example.com/sse" token={token} limit={1000} requestBody={requestBody} /> </div> ); }; ```