Version: 3.xx.xx
useTitle
useTitle returns a component that calls the <Title> passed to the <Refine>. In this way, it becomes easier for us to access this component in various parts of the application.
Usage
Normally refine provides a default title. If we want to build a custom title instead of default one that comes with refine, we need to overwrite it like this:
src/App.tsx
import { Refine } from '@pankod/refine-core'
import routerProvider from '@pankod/refine-react-router-v6'
import dataProvider from '@pankod/refine-simple-rest'
import '@pankod/refine/dist/styles.min.css'
export const App: React.FC = () => {
  return (
    <Refine
      routerProvider={routerProvider}
      dataProvider={dataProvider('https://api.fake-rest.refine.dev')}
      Title={({ collapsed }) => (
        <div>
          {collapsed && <img src="./logo" alt="Logo" />}
          <span>Custom Title</span>
        </div>
      )}
    />
  )
}
info
This <Title> we created is used in the <Sider> that refine provides by default.
Now useTitle will provides us to access to the <Title> component from various parts of the application, like this:
src/components/customSider
import { useTitle } from '@pankod/refine-core'
import { AntdLayout } from '@pankod/refine-antd'
export const CustomSider: React.FC = () => {
  const [collapsed, setCollapsed] = React.useState(false)
  const Title = useTitle()
  return (
    <AntdLayout.Sider
      collapsible
      breakpoint="md"
      collapsed={collapsed}
      onCollapse={(collapsed: boolean): void => setCollapsed(collapsed)}
    >
      <Title collapsed={collapsed} />
      ...
    </AntdLayout.Sider>
  )
}