React empêche la soumission du formulaire lorsque l'on appuie sur la touche Entrée
J'ai le composant React Barre de recherche suivant où le conteneur parent peut appeler en utilisant
<SearchBar onInputChange={this.handleInputChange} />
Chaque fois que l'utilisateur modifie l'entrée, le conteneur parent sera notifié. C'est pourquoi ma barre de recherche n'a pas besoin de bouton d'envoi.
Cependant, je constate que si j'appuie sur la touche "Entrée" dans la barre de recherche, la page entière s'actualise. Et je ne le souhaite pas.
Je sais que si j'ai un bouton dans le formulaire, je peux appeler event.preventDefault(). Mais dans ce cas, je n'ai pas de bouton et je ne sais pas quoi faire.
class SearchBar extends Component {
constructor(props) {
super(props);
this.state = { value: '' };
this.handleChange = this.handleChange.bind(this)
}
handleChange(e) {
this.setState({ value: e.target.value });
this.props.onInputChange(e.target.value);
}
render() {
return (
<div id="search-bar">
<form>
<FormGroup controlId="formBasicText">
<FormControl
type="text"
onChange={this.handleChange}
value={this.state.value}
placeholder="Enter Character Name"
/>
</FormGroup>
</form>
</div>
);
}
}
export default SearchBar