2016-12-29 5 views
2

を結合した後、私は入力ののonChangeイベントをキャプチャしようとしていますし、新しい値でSETSTATEを呼び出して、しかし:React.js - 「これは」とすぐに私は私が手入力で入力すると、未定義でも

私は

index.jsコンストラクタで

this.handleChange.bind(this) 

呼ばれているにもかかわらず、

Uncaught TypeError: Cannot read property 'setState' of undefined 
import React from 'react' 
import * as ReactDOM from "react-dom"; 
import App from './App' 

ReactDOM.render(
    <App />, 
    document.getElementById('root') 
); 

App.js

import * as React from "react"; 
export default class App extends React.Component { 
    constructor(props) { 
     super(props) 
     this.handleChange.bind(this) 
     this.state = {contents: 'initialContent'} 
    } 


    handleChange(event) { 
     this.setState({contents: event.target.value}) 
    } 


    render() { 
     return (
      <div> 
       Contents = {this.state.contents} 
       <input type="text" onChange={this.handleChange}/> 
      </div> 
     ); 
    } 
} 

答えて

7

割り当てthis.handleChange.bind(this) - this.handleChangeに(バインド関数への新しい参照を返す)、this.handleChange.bind

を返す新しい関数を参照する必要があるため。
constructor(props) { 
    super(props) 
    this.handleChange = this.handleChange.bind(this) 
    this.state = {contents: 'initialContent'} 
} 
関連する問題