действие по отправке через реквизит заканчивается на максимальной глубине, превышенной в следующем js - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь вызвать свое действие с помощью реквизита в Next.js, но оно продолжает превышать максимальную глубину, и я не мог понять, почему.

UNSAFE_componentWillReceiveProps(nextProps) {
    let rate_updated = [...this.props.previousArray];//copying store value to local variable
    for (let i = 0; i < this.props.crypto_head_coins.length; i++) {
        //my code here
    }
    this.props.update_rate_array(rate_updated) // calling action to set array value in state
    this.setState({ rate_updated }); // setting array to state
}

вот как я их отображаю

const mapDispatchToProps = dispatch => ({
    update_rate_array: Array => dispatch(update_rate_array(Array))
});
const mapStateToProps = state => ({
   previousArray: state.crypto_head_update
});

1 Ответ

0 голосов
/ 20 октября 2019

Проверьте, равняется ли this.props nextProps следующим образом, и выполняйте только, когда они отличаются.

UNSAFE_componentWillReceiveProps(nextProps) {
   if(this.props !== nextProps){
       let rate_updated = [...this.props.previousArray];//copying store value to local variable
       for (let i = 0; i < this.props.crypto_head_coins.length; i++) {
          //my code here
       }
       this.props.update_rate_array(rate_updated) // calling action to set array value in 
       state
       this.setState({ rate_updated }); // setting array to state
   }
}
...