JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js"></script>

<div style="font-size: 11pt">Enter page number or range or use predefined values to narrow down search in report.</div>
<div style="font-size: 9pt">Default bookmark: "Newton".</div>
<!--Find bookmark: <input type="text" id="anchor"/>-->
Find page/range: <input type="text" id="page"/>
<br><br>
<div style="font-size: 11pt">Or select from a predefined:</div>
<button id="range">View pages 20-30 with bookmark "Everett"</button>
<button id="showCurrentLocation">Show current location</button>
<br><br>
<div id="App"></div>

React

function RenderVisualize () {
  React.useEffect(function () {
visualize({
    auth: {
        name: "joeuser",
        password: "joeuser",
        organization: "organization_1"
    }
}, function (v) {

    var report = v.report({
        resource: "/public/Samples/Reports/AllAccounts",
        container: "#container",
        pages: {
            anchor: "Newton"
        },
        events: {
            changePagesState: function(currentPage) {
                console.log("changeCurrentPage", currentPage);
            }
        },
        error: function(e) {
            alert(e);
        }
    });
    
    $("#showCurrentLocation").on("click", function() {
        alert(JSON.stringify(report.pages()));
    });
    
    $("#anchor").on("change", function() {
        report
            .pages({ anchor: $(this).val() })
            .run()
            .fail(function(e) { console.log(report.pages()); alert(e); });
    });
    
    $("#page").on("change", function() {
        report
            .pages({ pages: $(this).val() })
            .run()
            .fail(function(e) { console.log(report.pages()); alert(e); });
    });
    
    $("#range").on("click", function() {
        report.properties({
            pages: {
                pages: "20-30",
                anchor: "Everett"
            }
        }).run().fail(function(e) { console.log(report.pages());  alert(e); });
    });
});

  }, [])

  return (
    <div id='container'></div>
  )
}

ReactDOM.render(<RenderVisualize />, document.querySelector("#App"))