Categories
JavaScript Answers React Native Answers

How to change listening port with React Native?

Sometimes, we want to change listening port with React Native.

In this article, we’ll look at how to change listening port with React Native.

How to change listening port with React Native?

To change listening port with React Native, we can set the port option.

For instance, we run:

react-native start --port 9988

to start the dev server and make it listen to port 9988.

Conclusion

To change listening port with React Native, we can set the port option.

Categories
JavaScript Answers React Native Answers

How to repeat animation with React Native?

Sometimes, we want to repeat animation with React Native.

In this article, we’ll look at how to repeat animation with React Native.

How to repeat animation with React Native?

To repeat animation with React Native, we can use the Animated.loop method.

For instance, we write:

import * as React from 'react';
import { View, Animated, Text } from 'react-native';
import Constants from 'expo-constants';
import { Card } from 'react-native-paper';

const c = new Animated.Value(0);

export default function App() {
  React.useEffect(() => {
    Animated.loop(
      Animated.timing(c, {
        toValue: 300,
        duration: 3000,
      }),
      { iterations: 5 }
    ).start();
  }, []);

  const color = c.interpolate({
    inputRange: [0, 200, 300],
    outputRange: ['orange', 'lightgreen', 'yellow'],
  });

  return (
    <Animated.View style={{ backgroundColor: color }}>
      <Text>hello world</Text>
    </Animated.View>
  );
}

to call Animated.loop with the animation object we created from Animated.timing and an object to set the iterations to 5 to repeat the animation 5 times.

Then we call interpolate to interpolate the color for the animation.

And use color as the backgroundColor‘s value.

Conclusion

To repeat animation with React Native, we can use the Animated.loop method.

Categories
JavaScript Answers React Native Answers

How to have content break to next line with flex when content reaches edge with React Native?

Sometimes, we want to have content break to next line with flex when content reaches edge with React Native.

In this article, we’ll look at how to have content break to next line with flex when content reaches edge with React Native.

How to have content break to next line with flex when content reaches edge with React Native?

To have content break to next line with flex when content reaches edge with React Native, we can set flexWrap to 'wrap'.

For instance, we write:

import * as React from 'react';
import { View, Text } from 'react-native';
import NumberFormat from 'react-number-format';

export default function App() {
  return (
    <View style={{ flexWrap: 'wrap', flexDirection: 'row' }}>
      {Array(20)
        .fill()
        .map((_, i) => {
          return (
            <Text key={i} style={{ width: 50 }}>
              {i}
            </Text>
          );
        })}
    </View>
  );
}

to set flexWrap to 'wrap' in the View so that the Text components inside will wrap to the next row when they reach the screen’s right edge.

Conclusion

To have content break to next line with flex when content reaches edge with React Native, we can set flexWrap to 'wrap'.

Categories
JavaScript Answers React Native Answers

How to format a number to currency when using React Native?

Sometimes, we want to format a number to currency when using React Native.

In this article, we’ll look at how to format a number to currency when using React Native.

How to format a number to currency when using React Native?

To format a number to currency when using React Native, we can use the react-number-format package.

To install it, we run npm i react-number-format.

Then we use it by writing:

import * as React from 'react';
import { View, Text } from 'react-native';
import NumberFormat from 'react-number-format';

export default function App() {
  return (
    <View>
      <NumberFormat
        value={7585945}
        displayType="text"
        thousandSeparator
        prefix="$"
        renderText={(value) => <Text>{value}</Text>}
      />
    </View>
  );
}

to add the NumberFormat component.

value is set to the number to format.

displayType sets how the formatted number should be rendered.

thousandSeparator adds thousand separators to the return number.

prefix sets the prefix to add to the number.

renderText is set a function that renders the value in the Text component.

Conclusion

To format a number to currency when using React Native, we can use the react-number-format package.

To install it, we run npm i react-number-format.

Categories
JavaScript Answers React Native Answers

How to get the index of the currently visible item in a React Native flat list?

Sometimes, we want to get the index of the currently visible item in a React Native flat list.

In this article, we’ll look at how to get the index of the currently visible item in a React Native flat list.

How to get the index of the currently visible item in a React Native flat list?

To get the index of the currently visible item in a React Native flat list, we can set the onViewableItemsChange prop to a function that gets the current visible items.

For instance, we write:

import * as React from 'react';
import { FlatList, Text, View } from 'react-native';
import Constants from 'expo-constants';
import { Card } from 'react-native-paper';

const flatListItems = Array(200)
  .fill()
  .map((_, i) => ({ title: i, id: i }));

const Item = ({ title }) => (
  <View
    style={{
      backgroundColor: '#f9c2ff',
      padding: 20,
      marginVertical: 8,
      marginHorizontal: 16,
    }}>
    <Text>{title}</Text>
  </View>
);

export default function App() {
  const renderItem = ({ item }) => <Item title={item.title} />;
  const onViewableItemsChanged = ({ viewableItems, changed }) => {
    console.log(viewableItems);
    console.log(changed);
  };

  return (
    <View>
      <FlatList
        onViewableItemsChanged={onViewableItemsChanged}
        data={flatListItems}
        renderItem={renderItem}
        keyExtractor={(item) => item.id}
      />
    </View>
  );
}

to define the onViewableItemsChanged function that gets the viewableItems property.

viewableItems has the items that are current visible on the screen.

changed has the items that have just entered or left after the last scroll.

They’re both arrays.

Conclusion

To get the index of the currently visible item in a React Native flat list, we can set the onViewableItemsChange prop to a function that gets the current visible items.