useLocaleState
The useLocaleState
hook allows to read and update the locale. It uses a syntax similar to react’s useState
hook.
Syntax
const [locale, setLocale] = useLocaleState();
Usage
useLocaleState
is generally used in components allowing the user to switch the interface language:
import * as React from "react";
import Button from '@mui/material/Button';
import { useLocaleState } from 'react-admin';
const LocaleSwitcher = () => {
const [locale, setLocale] = useLocaleState();
return (
<div>
<div>Language</div>
<Button
disabled={locale === 'fr'}
onClick={() => setLocale('fr')}
>
English
</Button>
<Button
disabled={locale === 'en'}
onClick={() => setLocale('en')}
>
French
</Button>
</div>
);
};
export default LocaleSwitcher;
As this is a very common need, react-admin provides the <LocalesMenuButton>
component.