2017-03-09 70 views
0

將狀態指定爲空。錯誤未定義狀態:將狀態設置爲陣列中的對象

class App extends Component { 
    constructor(props) { 
    super(props); 
    this.handleClick = this.handleClick.bind(this); 
    this.state = null; 
    } 

這是一切都出錯的地方。 Select等於數組中的對象。爲什麼我的控制檯告訴我setState不能等於undefined?

assignCompany(id) { 
    this.props.companies.forEach(function(company) { 
     if (company.id === id) { 
     var select = []; 
     select = company; 
     this.setState({select}); 
     } 
    }); 
    } 

呈現的代碼。

render() { 
    this.assignCompany(1); 
    return (
... 
        <CompanyProfile company={this.state.company} /> 
... 
+0

如果'select'已經是你不需要包裝在一個對象同樣的事情'{}''嘗試this.setState(選擇);'。或者如果你稍後調用它:'company = {this.state.company}'也許做'this.setState({company:select});'' – haxxxton

回答

0

可以實現不同

assignCompany(id) { 
    this.props.companies.forEach(function(company) { 
     if (company.id === id) { 
     this.setState({company: company}); 
     } 
    }); 
    } 
相關問題