Why after x number of times Math.random() function gives only one number over and over

I am using useState in React. After x number of time (15-20) getRandomNumbers function does not give random numbers anymore. It gives only one number over and over.

What am i doing wrong here???

import {useState} from "react";

function App() {

  const [numbers, setNumbers] = useState(['1','2','3','4', '5']);
  
  function getRandomNumbers(){
      let result = [];
      for(let i = 0; i < numbers.length; i++){
          result.push(numbers[Math.floor(Math.random() * numbers.length)]);
      }
      // setting new array in numbers
      setNumbers(numbers => result);
  }
  
  const displayNumbers = numbers.map((no, i) => {
      return (
          <div key={i}>{no}</div>
      );
  });

  return (
          <div>
              {displayNumbers}
              <br/>
              <button type='button' onClick={() => getRandomNumbers()}>Click</button>
          </div>
  );
}

export default App;