componentWillReceiveProps не вызывается, когда React-Redux отправляет одно и то же значение - PullRequest
0 голосов
/ 09 ноября 2019

Я использую React + Redux

Логика приложения: Когда запрос API выполнен и здесь есть ошибка от сервера, отобразите эту ошибку с анимацией на экране.

Но когда то же самоеapi route, который возвращает одну и ту же ошибку, вызванную пользователем пару раз, componentWillReceiveProps не вызывается, поскольку текстовое значение ошибки совпадает. Как вызывать эту функцию каждый раз, когда при редуксе меняется errorText состояние?



import React, { Component } from 'react'
import './style.scss'

class SmallError extends Component {
    state = {
        errorText: "",
    }

    timeout = null;

    async componentWillReceiveProps(nextProps) {
        clearTimeout(this.timeout)
        await this.setState({ errorText: "" })
        await this.setState({ errorText: nextProps.errorText })
        this.timeout = setTimeout(() => this.setState({ errorText: "" }), 3500)
    }

    render() {
        const { errorText } = this.state;
        if (errorText !== "") {
            return (
                <div className="smallError">
                    <span className="animated">{errorText}</span>
                </div>
            )
        } else {
            return (<></>)
        }
    }
}

export default SmallError;



Нуопять же: componentWillReceiveProps не вызывать при добавлении того же сообщения об ошибке в Redx.

...