JSFiddle - React, Tailwind, and code Playground

HTML

<head>
<link rel= "stylesheet" type= "text/css" href= "https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
<link rel= "stylesheet" type= "text/css" href= "https://cdn.datatables.net/colreorder/1.5.4/css/colReorder.dataTables.min.css">
<link rel= "stylesheet" type= "text/css" href= "https://cdn.datatables.net/buttons/1.6.3/css/buttons.dataTables.min.css">

<script src="https://code.jquery.com/jquery-1.10.0.js"></script>
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/colreorder/1.5.4/js/dataTables.colReorder.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.6.3/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.5.6/js/buttons.colVis.min.js"></script>

</head>

<table id="example" class="display" style="width:100%"></table>

JavaScript

stateSaveCallback: function (settings, data) {
                    $("#" + tableId).parent().addClass("scrollbar-custom");
                    var columnFilter = codeListTable.columns().visible();
                    var colVisState = $.map(columnFilter, function (col, i) {
                        return col ? true : false;
                    });
                    data.colVisState = colVisState;

                    var columnOrder = codeListTable.colReorder.order();

                    data.ColReorder = columnOrder;
                    var columnStatus = data.colVisState;
                    var columnOrderData = data.ColReorder;

                    $.ajax({
                        type: 'POST',
                        url: '@Url.Action("DataTableVisibilityCustomization", "Fund")',
                        data: { FilterColumnStatus: JSON.stringify(columnStatus), FilterColumnOrder: JSON.stringify(columnOrderData)},
                        success: function (result) {
                        }
                    });
                },

                stateLoadCallback: function (settings, callback) {
                    $.ajax({
                        type: 'POST',
                        url: '@Url.Action("GetDataTableColumnVisibility", "Fund")',
                        success: function (result) {
                            if (result.data) {
                                var filterColumns = JSON.parse(eval(result.data)[0]);
                                if (filterColumns != null) {
                                    $('#' + tableId + ' th').each(function (index) {
                                        var column = filterColumns[index];
                                        if (column === false) {
                                            settings.aoColumns[index].bVisible = false;
                                        }
                                    });
                                }
                            } else {
          ...