1.0.4 • Published 6 years ago
react-native-odometer v1.0.4
React Native Odometer
Odometer for React Native, supports numbers, localization and strings.
Features
- Animations with
react-native-reanimated. - Custom animation duration via
durationprop. - Automatically measures all widths and heights of items and adjusts accordingly.
- Supply a
childrenelement with the number or string. - Numbers can be formatted to custom locale via
localeprop. - Uses
tabular-numsfontVariant to avoid layout shifting.
Install
npm i react-native-odometerIf your React runtime does not support Intl but you want to use number localization, also install the polyfill or switch runtime.
npm i number-to-locale-string-polyfillExample
import Odometer from "react-native-odometer";Simple Odometer
<Odometer>12345.44</Odometer>Odometer with Localization
<Odometer locale="en-IN">12345.44</Odometer>Custom Odometer
const currencies = ["$", "₹", "€"];
const App = () => {
const [state, setState] = useState({
currency: currencies[0],
value: 0
});
useEffect(() => {
setInterval(() => {
setState({
currency: currencies[Math.floor(Math.random() * 3)],
value: Math.floor(Math.random() * 1000000)
});
}, 500);
}, []);
return (
<View>
<Odometer>
<Odometer.Fragment rotateItems={currencies}>{state.currency}</Odometer.Fragment>
{state.value}
</Odometer>
</View>
);
};Props
| Prop | Required | Default | Description |
|---|---|---|---|
children | Yes | - | The Odometer number/text to render. |
duration | No | 500ms | Animation Duration |
textStyle | No | - | Additional Styling for Text |
textProps | No | - | Additional Props for Text |
rotateItems | No | - | Only for Fragment. Possible characters for Odometer custom. |
locale | No | "" | Localization identifier for numbers. Eg: "en-US", "en", "en-IN" |
Thanks
React Native Odometer is based on react-native-ticker.