2017-03-09 73 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}); 
     } 
    }); 
    } 
相关问题