@fronter-up

Как запускать метод сразу после state, react?

Добрый день! Подскажите пожалуйста какие есть варианты в данной ситуации?

Надо после стейт запускать еще один метод
Сейчас есть так
state = {
    value: this.props.bool ? this.props.value1 :   this.props.value2,
  };

Ситуация такая ... нужно в зависимости какие пропсы пришли записывать значение в стейт, но вдругом варианте надо еще сразу запустить еще один метод.
В componentDidMount стейт нельзя вызвать так как матерится еслинт.
Кто что может посоветовать в такой ситуации?
Спасибо!
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Coder321
ДУмаю это вам поможет ComponentWillReciveProps
Ответ написан
Комментировать
@lnked
import React, { Component } from 'react'

export default class Example extends Component {
    constructor (props) {
        super(props)

        this.state = {
            value: this.props.bool ? this.props.value1 : this.props.value2
        }
    }

    componentWillReceiveProps (nextProps) {
        // тут доступны пропсы делайешь проверку со стейтом и все что тебе нужно
        if (nextProps.bool) {
            this.setState({...this.state, value: nextProps.value1})
        } else {
            this.setState({...this.state, value: nextProps.value2}, () => {
                // тут можно сделать что то еще
            })
        }
    }

    render () {
        return (
            <div>...</div>
        )
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы