Невозможно понять, почему на странице ничего не отображается - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь создать визуализатор сортировки, используя реакцию, и когда я создал случайный массив и попытался отобразить числа на веб-странице. Он ничего не показывает на странице, и все пути к каталогам верны. Мое приложение. js файл находится здесь `

import React from 'react';
import './App.css';
import checking from './components/chekcing';
import SortingVisualizer from './SortingVisualizer/SortingVisualizer';
function App() {
  return (
    <div className="App">
     <SortingVisualizer></SortingVisualizer>
    </div>
  );
}

export default App;

` и файл SortingVisualizer.jsx находится здесь

 import React, { Component } from 'react'
 import './SortingVisualizer.css'

 export class SortingVisualizer extends Component {
     //normal constructor to intialise the array
    constructor(props){
        super(props);
        this.state={
        array:[],
         }
    }

    componentDidMount(){
        this.resetArray();
    }
    // to reset the array or to generate the new array
    resetArray(){
        const array=[];
          for(let i=0;i<100;i++){
               array.push(randomIntFromInterval(5,1000));
        }
        this.setState(array);
    }
    render() {
        const {array}=this.state;
        return (
            <>
            {
            array.map((value, idx) =>{
                 
                 return <div className="array-bar" key={idx} >{value}</div>
             
              })}
            </>
        );
    }
          
    }

function randomIntFromInterval(min,max){
return Math.floor(Math.random*(max-min+1)+min);
}
export default SortingVisualizer

Я включил возврат в функцию карты массива, потому что стрелочные функции ожидали явный оператор возврата

1 Ответ

1 голос
/ 14 июля 2020

Вы забыли на самом деле вызвать Math.random() внутри своей randomIntFromInterval() функции, поэтому измените его, чтобы вернуть Math.floor(Math.random() * (max - min + 1) + min);

...