Skip to contents

Works by sending a message up to our reactive input binding on the client side, which tells page.js to update the window URL accordingly, then tells client side shiny that our reactive input binding has changed, then that comes back down to our router callback function and all other observers watching get_page() or similar.


change_page(page, session = shiny::getDefaultReactiveDomain(), mode = "push")



The new URL to go to. Should just be the path component of the URL, with optional query, e.g. "/learner?id=%d"


The current Shiny session.


("replace" or "push") whether to replace current history or push a new one. More in shiny::updateQueryString.