addRouter(routerFn)
Sets a router function that pages can use to update the page's URL without triggering a reload. To learn more about using addRouter, see our section about adding a router for SPAs.
Example
React Router v5
import { useHistory } from "react-router";
const MyComponent = () => {
  const history = useHistory();
  React.useEffect(() => {
    const routerFunc = (newUrl) => history.push(newUrl);
    window.CommandBar.addRouter(routerFunc);
  }, []);
};
React Router v6
import { useNavigate } from "react-router-dom";
const MyComponent = () => {
  let navigate = useNavigate();
  React.useEffect(() => {
    const routerFunc = (newUrl) => navigate(newUrl);
    window.CommandBar.addRouter(routerFunc);
  }, []);
};
Custom router
// Example of a more complex router function which falls back to opening a new tab for specific routes
// this illustrates that you are not bound to using a specific framework but can use any custom logic you need
import { useHistory } from 'react-router';
const MyComponent = () => {
  const history = useHistory();
  React.useEffect(() => {
  const routerFunc = (newUrl: string) => {
    const isDocRoute = newUrl.startsWith('/docs');
    if (isDocRoute) {
      window.open(`https://www.command.ai${newUrl}`);
    } else {
      history.push(newUrl);
    }
  };
    window.CommandBar.addRouter(routerFunc);
  }, []);
};
Method parameters
routerFn Required
function
The router function. It should accept the following arguments:
| Property | Type | Description | 
|---|---|---|
| url Required | string | The url to navigate to |