入力フォームに文字を入力してボタンを押したときに入力チェックをしたいです。
数字以外で入力した時はメッセージを出したく
if (text.match(/[^0-9]+/)){
alert('aaaa');
}にしたのですが
TypeError: ipAddress.match is not a function というエラーが出てしまいました。
解決先がわからないので教えて欲しいです
const App: React.FC = () => { const [text, setText] = useState('') const [tasks, setTasks] = useState([]) const onSubmit = (text:string) => { if (text.match(/[^0-9]+/)){ alert('aaaa'); } } return ( <div> <TextInput text={text}, handleInputChange={handleInputChange}, onSubmit={onSubmit} /> <TaskList setTasks={setTasks} tasks={tasks} /> </div> ) }
子コンポーネント import React, from 'react' interface Props { text: string handleInputChange: React.ChangeEvent<HTMLInputElement> onSubmit: (text: string) => void } const TextInput: React.FC<Props> = (text, handleInputChange, onSubmit ) => { } return ( <div> <div className="inputForm"> <div className="inner"> <input type="text" className="input" value={text} onChange={handleInputChange} /> <button onClick={(e)=> onSubmit(text)} className="btn is-primary">追加</button> </div> </div> </div> ) } export default TextInput
回答1件
あなたの回答
tips
プレビュー