--- title: useRoutes --- # `useRoutes`
Type declaration ```tsx declare function useRoutes( routes: RouteObject[], location?: Partial | string; ): React.ReactElement | null; ```
The `useRoutes` hook is the functional equivalent of [``][routes], but it uses JavaScript objects instead of `` elements to define your routes. These objects have the same properties as normal [`` elements][route], but they don't require JSX. The return value of `useRoutes` is either a valid React element you can use to render the route tree, or `null` if nothing matched. ```tsx import * as React from "react"; import { useRoutes } from "react-router-dom"; function App() { let element = useRoutes([ { path: "/", element: , children: [ { path: "messages", element: , }, { path: "tasks", element: }, ], }, { path: "team", element: }, ]); return element; } ``` [routes]: ../components/routes [route]: ../components/route