错误未定义状态:从数组中将状态设置为对象

时间:2017-03-09 05:49:41

标签: javascript reactjs ecmascript-6 jsx

将状态指定为null。

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} />
...

1 个答案:

答案 0 :(得分:0)

你可以用不同的方式实现同​​样的目标

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