React. Должен ли происходить двойной рендер или это указывает на ошибку?

Рейтинг: 0Ответов: 0Опубликовано: 14.02.2023

Знаю что это происходит из-за React.StrictMode, но не понимаю, так и должно быть или я где-то ошибся.

    getResource = async (url) => {

        let res = await fetch(url);
    
        if (!res.ok) {
            throw new Error(`Could not fetch ${url}, status: ${res.status}`);
        }
    
        return await res.json();
    };



    getRandomCharacter = async () => {
        const resGetTotal = await this.getResource(`${this._apiCharacters}?limit=1${this._apiKey}`);

        let randomNumber = await generateUniqueRandomNumbers(1, resGetTotal.data.total - 1)[0]; // получить рандомное число из из предыдущего результата 

        const res = await this.getResource(`${this._apiCharacters}?limit=1&offset=${randomNumber}${this._apiKey}`);
        return this._transformCharacter(res)
    }

    _transformCharacter = (res) => {
        return {
            name: res.data.results[0].name,
            description: res.data.results[0].description,
            thumbnail: `${res.data.results[0].thumbnail.path}.${res.data.results[0].thumbnail.extension}`,
            homepage: res.data.results[0].urls[0].url,
            wiki: res.data.results[0].urls[1].url
        }
    }

в другом компоненте

  componentDidMount() {
        this.updateChar()
    }


    updateChar = () => {
        this.marvelServices
            .getRandomCharacter()
            .then(res => {
                this.setState(res)
            })
    }

Ответы

Ответов пока нет.