1
resposta

Nao estou conseguindo chamar a função adicionarTarefa

setTarefas: React.Dispatch<React.SetStateAction<ITarefa[]>> }> {

state = {
    tarefa: "",
    tempo: "00:00"
}

adicionarTarefa(evento: React.FormEvent<HTMLFormElement>) {
    evento.preventDefault();
    this.props.setTarefas(tarefasAntigas => [...tarefasAntigas, {...this.state}] )
    console.log(this.props.setTarefas)

}

render() { return(

Adicioner um novo estudo <input type="text" name='tarefa' id='tarefa' value={this.state.tarefa} onChange={(e)=> this.setState({...this.state, tarefa: e.target.value })} placeholder='O que voce quer estudar ?' required />
Tempo <input type="time" name='tempo' id='tempo' value={this.state.tempo} onChange={(e)=> this.setState({ ...this.state, tempo: e.target.value })} min="00:00:00" max="01:30:00" step="1" required />
        <Botao>Adicionar</Botao>
    </form>
)

}

este é o meu codigo, não esta dando nenhum erro mas quando tento chamar a função não renderiza nada na lista

1 resposta

Fala Diogo, tudo certo?

Não está adicionando uma tarefa pois você não está acionando a função adicionarTarefa, você tem duas formas de fazer isto aqui:

  • A forma como foi dita no vídeo, foi colocar type="submit" no Button e utilizar o evento onSubmit no form, você pode ver o código neste link
  • Utilizando o evento onClick do Button, ficando assim:
    <Botao onClick={this.adicionarTarefa.bind(this)}>
     Adicionar
    </Botao>

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software