Sha256: 3d4cb87eea6ca1a06aab1e072c6b113e1944010edc66bd546ac183d4ad8d157b
Contents?: true
Size: 874 Bytes
Versions: 5
Compression:
Stored size: 874 Bytes
Contents
import React, { ChangeEvent, useState } from "react"; interface AddTagFormProps { addTag: (string) => void; } export default function AddTagForm(props: AddTagFormProps) { const [tag, setTag] = useState(""); const submit = (evt: Event) => { evt.preventDefault(); props.addTag(tag); setTag(""); }; const handleKeyDown = (evt: Event) => { if (evt.which === 13) { submit(evt); } }; const handleChange = (evt: ChangeEvent<HTMLInputElement>) => { setTag(evt.target.value); }; return ( <div className="add-tag-form"> <input name="add-tag" type="text" className="add-tag" value={tag} onKeyDown={handleKeyDown} onChange={handleChange} placeholder="Add tag..." /> <button onClick={submit} disabled={!tag}> Add </button> </div> ); }
Version data entries
5 entries across 5 versions & 1 rubygems