title: Mobx console warning
body: <p>I got this waring message from Mobx.</p>
  
  <blockquote>
    <p>[mobx.array] Attempt to read an array index (0) that is out of bounds (0). Please check length first. Out of bound indices will not be tracked by MobX</p>
  </blockquote>
  
  <pre><code>@observable checks = {
        deviceType: ['phone','laptop', ...],
        deviceTypeChecks: [],
        ...
      }
  
  @action
  selectAllChecks = (target, type) =&gt; {
       const targetChecks = []
       if (this.checks[target].length !== this.checks[type].length) {
          this.checks[target].forEach(el =&gt; targetChecks.push(el))
        }
       this.checks[type] = targetChecks
  }
  </code></pre>
  
  <p>How can I remove that warning? However, this code has no problem. It works well.</p>
  
  <p>I'm using <code>selectAllChecks</code> function by onChange function.</p>
  
  <pre><code>const {
    deviceType,
    deviceTypeChecks
  } = this.props.store.checks
  
  &lt;label className="mr10"&gt;
            &lt;input
              type="checkbox"
              checked={deviceType.length === deviceTypeChecks.length}
              onChange={() =&gt;
                selectAllChecks('deviceType', 'deviceTypeChecks')
              }
            /&gt;
            &lt;span&gt;All device type&lt;/span&gt;
          &lt;/label&gt;
  </code></pre>
  
  <p>I have to 4 version for IE.</p>
  
  <pre><code>"mobx": "^4.1.0",
  "mobx-react": "^5.2.6",
  </code></pre>
  
  <p>Is there any other solution?</p>