Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

356
Views
How to make a horizontal FlatList with React Native?

I am trying to align those white circles row-wise and I have written the same thing in the code but these circles are getting aligned column-wise, someone can help please.

My Item component :

const Item = ({ item }) => (
        <View style={styles.citiesContainer}>
            <View>
                <Text style={styles.cities}>{item}</Text></View>
        </View>
    );

const styles = StyleSheet.create({
    citiesContainer: {
        display: 'flex',
        flexDirection: 'row',
        flexWrap: 'nowrap',
        overflow: 'hidden',
        height: 120,
        width: '100%',
        justifyContent: 'space-evenly',
        alignContent: 'center',
        backgroundColor: 'red'
    },
    cities: {
        fontSize: 10,
        flex: 1,
        color: 'black',
        width: 100,
        height: 100,
        borderRadius: 50,
        backgroundColor: '#f0f0f0'
    }
});

Where I am rendering it :

  const renderItem = ({ item }) => ( <Item title={item} /> ); 
  <FlatList
    data={cities}
    renderItem={renderItem}
    keyExtractor={item => item}
    
  />

Check the image below to see what I am explaining :

enter image description here

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

I see in the comments that you are using a FlatList, so in order to have items on a row, you should use the horizontal={true} on the FlatList.

 <FlatList
   data={cities} 
   renderItem={renderItem}
   keyExtractor={item => item} 
   horizontal={true} 
 />

I also see in the comments that renderItem is like so :

const renderItem = ({ item }) => ( <Item title={item} /> );

So in Item component you should be getting title as part of props. And finally there are some corrections to make in the style part, like so :

const Item = ({ title }) => (
            <View style={styles.city}>
                <Text >{title}</Text>
            </View>
    );


const styles = StyleSheet.create({

     city: {
       fontSize: 10,
       color: 'black',
       width: 100,
       height: 100,
       borderRadius: 50,
       backgroundColor: '#f0f0f0'
      }
   });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!