質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

879閲覧

Reactでテキストフォームに文を打って送信ボタンを押すとテキストの送信と同時にテキストフォームの文をクリアするようにしたい

Gajikimaguro

総合スコア1

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/09/20 03:37

編集2021/09/20 03:49

前提・実現したいこと

##Reactでタイピングゲームを作っていて、テキストフォームに問題文のタイピング文を打って送信ボタンを押すとつぎの問題に行くと同時にテキストフォームの文をクリアする。

発生している問題・エラーメッセージ

プロパティ 'value' は型 'Dispatch<SetStateAction<string>>' に存在しません。

該当のソースコード

tsx

1import React, {useState} from "react"; 2import { dummyText } from "./dummys/dummytext"; 3 4 5const twiiterText : string[] = dummyText; 6 7const Game = () =>{ 8 const [questionNum, setQuestionNum] = useState<number>(0); 9 const [question,setQuestion] = useState<string>(twiiterText[questionNum]); 10 const [form, setForm] = useState<string>(""); 11 //正解不正解の判定(consoleに表示) 12 13 const result = () =>{ 14 if(form === question){ 15 console.log("正解"); 16 setQuestionNum(questionNum + 1); 17 setQuestion(twiiterText[questionNum + 1]); 18 } else { 19 console.log("不正解"); 20 } 21 } 22 23 24 function clearText() { 25 var any = document.getElementById("form"); 26 setForm.value = ''; 27 } 28 29 //html 30 return( 31 <div> 32 <h1>{questionNum + 1}問目</h1> 33 <div> 34 問題のタイピング文を打ちなさい。 35 </div> 36 <h1>{question}</h1> 37 <input id="form" onChange={(e)=> setForm(e.target.value)}></input> 38 <button onClick={()=> {result()}}>送信</button> 39 </div> 40 ); 41} 42 43export default Game;

###下がdummystextです。

js

1export const dummyText = [ 2 "あいうえお", 3 "かきくけこ", 4 "さしすせそ", 5 "たちつてと", 6 "なにぬねの", 7 "はひふへほ", 8 "まみむめも", 9 "やゆよ", 10 "らりるれろ", 11 "わをん", 12]; 13 14 15

試したこと

value='';でinputのフォームに入力されている内容をクリアしようとしたのですがエラーがでてしまいます。

補足情報(FW/ツールのバージョンなど)

VScodeを使っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

プロパティ 'value' は型 'Dispatch<SetStateAction<string>>' に存在しません。

というエラーの通り、setForm.value = hogeという使い方はできません。
setForm(hoge)です。

ステートフックの利用法を読み直して下さい。

投稿2021/09/20 12:03

k4a

総合スコア983

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問