this.setState automatically calls render, so it would create infinite loop.