Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Diferença entre usar o <button> e o input

Olá! eu percebi que na solução do botão customizado o código sugerido cria um input type="submit" ao invés de um <button>propriamente dito.

Gostaria de entender se foi uma escolha por gosto ou se pra o react tem alguma diferença/recomendação pois quando eu uso com a tag <button> não consigo atribuir o this.props.value ele deixa o botão esquisito :/

Obrigada!

4 respostas

Opa, foi estilo mesmo. Geralmente quando vou criar um botão de submit, uso o type= "submit". Pode postar o seu código para a gente olhar? Não entendi o que vc quer atribuir ao button.

Hey Alberto, eu tentei usar dessa maneira:

import React, { Component } from 'react';

export default class ButtonCustom extends Component {
  render() {
    return(
      <div className="pure-control-group">
        <label></label>
        <button type="submit"
               className="pure-button pure-button-primary"
               value={this.props.value} >
          </button>
      </div>
    );
  }
}

E consumi-lo dentro do componente:

<ButtonCustom value="Gravar"/>

Usando assim, a palavra gravar não aparece dentro do botão... Daí eu experimentei usar dessa forma:

<button type="submit" className="pure-button pure-button-primary"> {this.props.value} </button>

que no caso funciona bem, mas fiquei em dúvida sobre qual o melhor jeito de consumir a tag pra usar como componente customizado.

solução!

Opa, agora eu entendi :). Realmente o button do html espera o valor entre as tags e não como atributo value :) => https://www.w3schools.com/tags/tag_button.asp

Entendi! Obrigada!

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