title: Why calling setState method doesn't mutate the state immediately?
body: <p>Ok, i'll try and make this quick because it SHOULD be an easy fix...</p>
  
  <p>I've read a bunch of similar questions, and the answer seems to be quite obvious. Nothing I would ever have to look up in the first place! But... I am having an error that I cannot fathom how to fix or why its happening.</p>
  
  <p>As follows:</p>
  
  <pre><code>class NightlifeTypes extends Component {
  constructor(props) {
      super(props);
  
      this.state = {
          barClubLounge: false,
          seeTheTown: true,
          eventsEntertainment: true,
          familyFriendlyOnly: false
      }
      this.handleOnChange = this.handleOnChange.bind(this);
  }
  
  handleOnChange = (event) =&gt; {   
      if(event.target.className == "barClubLounge") {
          this.setState({barClubLounge: event.target.checked});
          console.log(event.target.checked)
          console.log(this.state.barClubLounge)
      }
  }
  
  render() {
      return (
          &lt;input className="barClubLounge" type='checkbox' onChange={this.handleOnChange} checked={this.state.barClubLounge}/&gt;
      )
  }
  </code></pre>
  
  <p>More code surrounds this but this is where my problem lies. Should work, right? </p>
  
  <p>I've also tried this:</p>
  
  <pre><code>handleOnChange = (event) =&gt; {   
  if(event.target.className == "barClubLounge") {
      this.setState({barClubLounge: !this.state.barClubLounge});
      console.log(event.target.checked)
      console.log(this.state.barClubLounge)
  }
  </code></pre>
  
  <p>So I have those two <code>console.log()</code>'s, both should be the same. I'm literally setting the state to be the same as the <code>event.target.checked</code> in the line above it!</p>
  
  <p>But it always returns the opposite of what it should.</p>
  
  <p>Same goes for when I use <code>!this.state.barClubLounge</code>; If it starts false, on my first click it remains false, even though whether the checkbox is checked or not is based off of the state!!</p>
  
  <p>It's a crazy paradox and I have no idea whats going on, please help!</p>