I have written some basic JS code in React Native to generate a random number then render the number. I would now like to add every generated number to a list.
Currently the generated random number can be added to a list, to do this I need to first generate the number (using
onPress={getRandomInt}
) THEN to add to the list on a separate button:
onPress={addNumber}
.
I've tried combining the functions and for the life of me can't get it to work. Any help would be much appreciated, thank you.
import React, { useEffect, useState } from 'react';
import { View, Text, Button } from 'react-native';
import Calls from './Calls';
export default function NumberGen() {
const [number, setNumber] = React.useState();
const [names, setNames] = React.useState([]);
const getRandomInt = (min, max) => {
min = Math.ceil(1);
max = Math.floor(90);
const randomNumber = Math.floor(Math.random() * (max - min +1) + min);
setNumber(randomNumber)
}
const addNumber = () => {
getRandomInt
setNames(current => [...current, number]);
}
return (
<>
<View>
<Button
title='get random number'
onPress={getRandomInt}
/>
<Text>{number}</Text>
<Text>{Calls.call[number-1]}</Text>
</View>
<Button title='add to list' onPress={addNumber}/>
<View>
{names.map((element) => {
return(
<Text>{element}</Text>
)
})}
</View>
</>
);
};
I've tried:
- Adding a new array to state
- Combining both functions
- Using .then after the random number is generated but before it's set to state.