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

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

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

Babelは、JavaScriptの次世代仕様であるECMAScriptのコンパイラ。次世代の標準機能を用いて記述されたコードを、それらの機能に対応していないブラウザでも動作するコードに変換することができます。

React.js

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

Q&A

解決済

1回答

6790閲覧

Reactでthis.handle.bind(this)でエラーが出る

Shichi7

総合スコア35

Babel

Babelは、JavaScriptの次世代仕様であるECMAScriptのコンパイラ。次世代の標準機能を用いて記述されたコードを、それらの機能に対応していないブラウザでも動作するコードに変換することができます。

React.js

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

0グッド

0クリップ

投稿2017/09/28 06:07

React初心者です。
あるチュートリアルにしたがってコードを書いていますが、this.handle.bind(this)のところで、Inline Babel script:18 Uncaught TypeError: Cannot read property 'bind' of undefinedというエラーが出てしまいます。解決策教えてください。

javascript

1 2// idを付けてdivを宣言してます 3 <div id="content"> 4 </div> 5 6 // reactとreact-domのライブラリを読み込む 7 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.js"></script> 8 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.js"></script> 9 10 // babelを読み込む 11 <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.10.3/babel.min.js"></script> 12 13 <script type="text/babel"> 14 15const TodoList = (props) => { 16 return ( 17 <ul> 18 {props.items.map((item, index) => ( 19 <li key={index}>{item}</li> 20 ))} 21 </ul> 22 ); 23} 24 25class TodoApp extends React.Component { 26 constructor(props) { 27 super(props); 28 this.handleChange = this.handle.bind(this); # ここです!!!!!!!!! 29 this.state = {items: [], text: ''}; 30 } 31 32 render() { 33 return ( 34 <div> 35 <h3>TODOアプリ</h3> 36 <p>{this.state.text}</p> 37 <form> 38 <input onChange={this.handleChange} /> 39 <button>Add</button> 40 </form> 41 <TodoList items={this.state.items} /> 42 </div> 43 ); 44 } 45 46 handleChange(e) { 47 this.setState({text: e.target.value}); 48 } 49} 50 51ReactDOM.render( 52 < TodoApp />, 53 document.getElementById('content') 54); 55 56 </script>

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

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

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

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

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

guest

回答1

0

ベストアンサー

this.handleChange = this.handle.bind(this); # ここです!!!!!!!!!

の箇所を

this.handleChange = this.handleChange.bind(this);

と修正して下さい。

投稿2017/09/28 06:17

編集2017/09/28 06:25
m0a

総合スコア708

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

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

Shichi7

2017/09/28 06:27

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問