2016-02-29 88 views
1

我從Material-ui(簡單示例)網站本身得到了這段代碼片段,它似乎不能立即直接複製和粘貼。材料 - 例如

它拋出一個錯誤解析意外的標記(「行#」),特別是在handleChange = .......。我目前正在使用Visual Studio Code,而且我也是在JSX中使用Material-ui的新手。

我在想什麼?請幫忙。

import React from 'react'; 
import DropDownMenu from 'material-ui/lib/DropDownMenu'; 
import MenuItem from 'material-ui/lib/menus/menu-item'; 

export default class DropDownMenuSimpleExample extends React.Component { 

    constructor(props) { 
    super(props); 
    this.state = {value: 2}; 
    } 

    handleChange = (event, index, value) => this.setState({value}); 

    render() { 
    return (
     <DropDownMenu value={this.state.value} onChange={this.handleChange}> 
     <MenuItem value={1} primaryText="Never"/> 
     <MenuItem value={2} primaryText="Every Night"/> 
     <MenuItem value={3} primaryText="Weeknights"/> 
     <MenuItem value={4} primaryText="Weekends"/> 
     <MenuItem value={5} primaryText="Weekly"/> 
     </DropDownMenu> 
    ); 
    } 
} 

回答

4

變化handleChange = (event, index, value) => this.setState({value});

handleChange(event, index, value) { 
    this.setState({value}) 
}; 
+1

我覺得應該注意的是,在本文檔使用ES6語法和例子,因此,如果您在自己的項目中測試這些例子,你需要有適當的插件安裝在你的編譯器中。要使用示例'handleChange =(event,index,value)=> this.setState({value})中所示的ES6語法;'您需要安裝Babel插件。你可以在Babel上找到更多的信息,以及如何使用它[這裏](http://babeljs.io/docs/setup/)。如果您還沒有開始使用ES6語法,我強烈建議您嘗試一下。希望有所幫助。 – CaseyC