UNPKG

react-native-localize-ext

Version:
26 lines (21 loc) 656 B
import { I18nInstance } from '@react-native-localize-ext/core'; import { useState, useEffect } from 'react'; import { getSignature, SPLIT_STR, getSignatures } from './utils'; export function useI18n(...i18nList: I18nInstance[]): void { const [, setSign] = useState(() => getSignatures(i18nList)); useEffect(() => { const listeners = i18nList.map((item, index) => { return item._.listen(() => { setSign((value) => { const data = value.split(SPLIT_STR); data[index] = getSignature(item); return data.join(SPLIT_STR); }); }); }); return () => { listeners.forEach((unListen) => unListen()); }; }, []); return; }