JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.datatables.net/1.10.6/js/jquery.dataTables.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.6/css/jquery.dataTables.css">
<link rel="stylesheet" href="https://cdn.datatables.net/scroller/1.2.2/css/dataTables.scroller.min.css">
<script src="https://cdn.datatables.net/scroller/1.2.2/js/dataTables.scroller.min.js"></script>
<table id="example" class="display" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Rating</th>
            <th>Votes</th>
        </tr>
    </thead>
</table>

JavaScript

$("#example").dataTable({
     "scrollCollapse": true,
     "serverSide": true,
     "ordering": false,
     "searching": false,
     "ajax": function ( data, callback, settings ) {
   		data.length=10;
         setTimeout( function () {
             var out = [];             
             for ( var i=data.start, ien=data.start+data.length ; i<ien ; i++ ) {
                 out.push( { id: i+'-1', name: i+'-2', rating: i+'-3', votes: i+'-4' } );
             }             
             
             callback( {
               "draw": data.draw,
               "data": out,
               "recordsTotal": 5000000,
               "recordsFiltered": 5000000
             });
             
         }, 50 );
      },     
      "scroller": {
          "loadingIndicator": true,
          "trace": true
      },
      "deferRender": true,
      "dom": "rtiS",
      "scrollY": "400px",
      "columns": [
          {"data": "id"}, 
          {"data": "name"}, 
          {"data": 'rating'}, 
          {"data": 'votes'}
      ]
 });