Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Super lightweight and zero-dependencies React Hook for creating memoized native instances of Intl for Next.js i18n

Notifications You must be signed in to change notification settings

useflyyer/use-next-intl-format

Repository files navigation

use-next-intl-format

Super lightweight React Hook for creating memoized native instances of Intl for Next.js i18n

NPM

Note

Do you need this library? Probably not, use it only if you need to have the same formatter per render for optimization reasons.

If that is not your case, fallback to:

import { useRouter } from "next/router";
function Page() {
 const router = useRouter()
 const formatter = new Intl.DateTimeFormat(router.locale, { ... })
 // ...
}

Install

This module includes Typescript typings.

npm install --save use-next-intl-format
yarn add use-next-intl-format

Supported Intl helpers

Usage

See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options for options reference

See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat#using_options for options reference

This only applies for Next.js apps.

import * as React from 'react'
import { useIntlDateTimeFormat, useIntlNumberFormat } from 'use-next-intl-format'
// Prefer stable values.
const DATE_OPTIONS: Intl.DateTimeFormatOptions = {
 year: "numeric",
 month: "long",
 day: "numeric",
};
const Example = () => {
 const dateFormatter = useIntlDateTimeFormat(DATE_OPTIONS);
 const [numberFormatterOptions] = useState({ notation: "compact" });
 const numberFormatter = useIntlNumberFormat(numberFormatterOptions)
 return (
 <div>
 Current datetime: {dateFormatter.format(new Date())}
 Number: {numberFormatter.format(2)}
 </div>
 )
}

License

MIT © lopezjurip


This hook is created using create-react-hook.

About

Super lightweight and zero-dependencies React Hook for creating memoized native instances of Intl for Next.js i18n

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /