2017-06-13 39 views
0

状態を使用してTextFieldの値を取得しようとしています。私はそれにonChangeを加えて、handleChangeを呼び出しました。構文エラー:React JSのhandleChangeで予期しないトークン(45:16)

class App extends Component { 
    constructor(props) { 
    injectTapEventPlugin(); 
    super(props); 
    this.state = { open: false, noteVal: "" }; 
    console.log(this.state); 
    } 

    handleOpen =() => { 
    this.setState({ open: true }); 
    console.log(this.state); 
    }; 

    handleClose =() => { 
    this.setState({ open: false }); 
    }; 

    handleCreateNote =() => { 
    console.log("Hey"); 
    }; 

    handleChange: function(event) { 
    this.setState({noteVal: event.target.value}); 
    } 

    render() { 
    return (
     <MuiThemeProvider> 
     <div> 
      <AppBarTest /> 
      <FloatingActionButton 
      style={styles.fab} 
      backgroundColor={colors.blue_color} 
      onTouchTap={this.handleOpen} 
      > 
      <ContentAdd /> 
      </FloatingActionButton> 
      <Dialog 
      open={this.state.open} 
      onRequestClose={this.handleClose} 
      title={strings.dialog_create_note_title} 
      > 
      <TextField 
       hintText="Note" 
       style={{ width: "48%", float: "left", height: 48 }} 
       defaultValue={this.state.noteVal} 
       onChange={this.handleChange} 
      /> 

      <div 
       style={{ 
       width: "4%", 
       height: "48", 
       backgroundColor: "red", 
       float: "left", 
       visibility: "hidden" 
       }} 
      /> 

      <FlatButton 
       label={strings.create_note} 
       style={{ width: "48%", height: 48, float: "left" }} 
       onTouchTap={this.handleCreateNote} 
      /> 
      </Dialog> 
     </div> 
     </MuiThemeProvider> 
    ); 
    } 
} 

export default App; 

誰が間違っていたたものを私を助けることができる私は、エラー

./src/App.js 
Syntax error: D:/React JS/todo-app/src/App.js: Unexpected token (45:16) 

    43 | }; 
    44 | 
> 45 | handleChange: function(event) { 
    |    ^
    46 |  this.setState({noteVal: event.target.value}); 
    47 | } 
    48 | 

の下に取得していますか?

+1

remove関数キーワードとコロンで

handleChange: function(event) { this.setState({noteVal: event.target.value}); } 

を交換する必要がある内部クラス本体の宣言されているので、このようにそれを書く:私は定義した場合、 'handleChange(イベント)は{' –

答えて

2

。あなたは

handleChange(event) { 
    this.setState({noteVal: event.target.value}); 
    } 
+0

あなたが意味しますかクラス外のメソッドであれば、私のアプローチでやり直す必要があります。これは ? –

+1

「クラス外のメソッドを定義する」とはどういう意味ですか?オブジェクトリテラルでは、 'const obj = {fn(){return 'es2015'}、fnES5Way:function {return 'es5'}}'という構文を使用できます。クラス本体宣言でプロトタイプメソッドを定義している場合は、短いものだけを指定してください。 –

+0

"オブジェクトリテラル"とはどういう意味ですか –

関連する問題