123456789101112131415161718192021222324252627282930313233343536import React, { useState, useEffect } from "react";import { makeStyles } from "@material-ui/styles";// This function from @material-ui/styles help create cssconst userStyle = makeStyles({container: {display: "flex",justifyContent: "center",alignItems: "flex-end",height: "100%",border: "2px solid lightgray"},bar: {margin: "1px"}});// Initializes a random array based on props given (min, max, amt)const initArray = (min, max, amount) => {let arr = [];for (let i = 0; i < amount; i++)arr.push(Math.floor(Math.random() * max) + min);return arr;};// Main sorting array. Change this for different algorithms.const BubbleSort = props => {// Make our styles first with useStyles()const classes = userStyle();// useState is used to create "state" variables in function components which have no state.// It works like this:// const [var, targetMethod] = useState(arg from targetMethod);// Object.assign(target, source) (makes an empty array from initArray return val)const [masterArr] = useState(Object.assign([], initArray(1, 100, 50)));// "array" var will hold the sorted arrayconst [array, setArray] = useState([]);