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

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

新規登録して質問してみよう
ただいま回答率
85.48%
React.js

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

Q&A

解決済

1回答

1690閲覧

[React] Vueのようなv-modelは可能なのか

DaisukeMori

総合スコア225

React.js

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

0グッド

0クリップ

投稿2020/05/23 07:17

編集2020/05/23 07:39

疑問

Vueなら以下のようにv-modelでフォーム入力と同時に文字を表示させることが可能ですが
Reactでは同じように実現可能でしょうか?またfunctionコンポーネントでも可能でしょうか?
色々調べてるのですが、良いサンプルコードがなく困っています。

要件まとめ

  • v-modelのようにReactでもフォーム入力と同時に文字を表示
  • functionコンポーネント前提

vue

1<!-- Vueならこれで実現可能 --> 2<template> 3 <div id="app"> 4 <textarea v-model="message"></textarea> 5 <pre>{{ message }}</pre> 6 </div> 7</template> 8 9<script> 10new Vue({ 11 el: '#app', 12 data: { 13 message: 'Hello!' 14 } 15}) 16</script>

いまやってること

jsx

1// ...省略 2const Index = () => { 3 const [ value, setValue ] = useState({ value: '' }); 4 5 const handleChange = (e) => { 6 return setValue({value: e.target.value}); 7 } 8 9 return ( 10 <React.Fragment> 11 <input value={value} onChange={handleChange} /> 12 </React.Fragment> 13 ); 14} 15// ...省略

出力結果
値が来ていない
イメージ説明

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

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

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

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

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

guest

回答1

0

自己解決

すみません。
再度useStateを見返してやったら解決できましたので
コード載せておきます。

jsx

1// ...省略 2 3const Index = () => { 4 const [input, setInput] = useState(''); 5 6 return ( 7 <React.Fragment> 8 <input className="board-input" onChange={(e) => setInput(e.target.value)} /> 9 { input } 10 </React.Fragment> 11 ); 12} 13 14// ...省略

投稿2020/05/23 07:55

DaisukeMori

総合スコア225

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問