Fala ai Lucas, tudo bem? Esse é um velho problema de trabalhar com classes no React, quando você faz algo assim:
class AlgumComponente extends Component {
    constructor(props) {
        super(props)
        this.state = {
            nome: '',
        }
    }
    alterarNome(event) {
        this.setState({
            nome: event.target.value,
        })
    }
}
O problema nesse caso é o contexto de execução da função, o this não será a classe AlgumComponente, então, para resolver o problema do contexto e garantir que o mesmo vai ser a classe AlgumComponente a gente tem dois caminhos:
Fazer o bind da função com a classe no construtor:
class AlgumComponente extends Component {
    constructor(props) {
        super(props)
        this.state = {
            nome: '',
        }
        this.alterarNome = this.alterarNome.bind(this)
    }
    alterarNome(event) {
        this.setState({
            nome: event.target.value,
        })
    }
}
Ou mudar a função de declaração para arrow:
class AlgumComponente extends Component {
    constructor(props) {
        super(props)
        this.state = {
            nome: '',
        }
    }
    alterarNome = (event) => {
        this.setState({
            nome: event.target.value,
        })
    }
}
Para mais informações sobre o contexto de execução de cada função dá uma olhada nesse artigo: https://imasters.com.br/javascript/javascript-entendendo-o-de-uma-vez-por-todas
Espero ter ajudado.