Generators.js 741 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import React from 'react'

function * load(limit) {
  let i = 1;
  while (i <= limit) {
    yield { id: i, name: i };
    i++;
  }
}

export default class extends React.Component {
  constructor(props) {
    super(props);

Fabrizio Castellarin's avatar
Fabrizio Castellarin committed
15
16
17
18
19
    this.done = () => {};
    this.props.setCallWhenDone && this.props.setCallWhenDone((done) => {
      this.done = done;
    });

20
21
22
23
24
25
26
27
    this.state = { users: [] };
  }

  componentDidMount() {
    const users = [];
    for (let user of load(4)) {
      users.push(user);
    }
Fabrizio Castellarin's avatar
Fabrizio Castellarin committed
28
    this.setState({ users }, () => this.done());
29
30
31
32
33
34
35
36
37
38
39
40
  }

  render() {
    return (
      <div id="feature-generators">
        {this.state.users.map(user => (
          <div key={user.id}>{user.name}</div>
        ))}
      </div>
    );
  }
}