In my render method I have something like

```
<input type={dynamicTypeValue} value={dynamicValue} />
```

If I first render this input as a number, (e.g. `dynamicTypeValue = 'number'; dynamicValue = 5`) but then change the input to a string: (`dynamicTypeValue = 'string'; dynamicValue = '01/01/2016'`) I get a warning 
that the new value is not a valid number:

```
The specified value "01/01/2000" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
DOMPropertyOperations.js:142 The specified value "01/01/2012" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
```

![screen shot 2016-04-07 at 6 07 45 pm](https://cloud.githubusercontent.com/assets/1074773/14368429/a7d61baa-fceb-11e5-91f0-199ff95aa276.png)

Is this expected behavior?

log.push('set value');
          },
        });
        spyOn(el, 'setAttribute').and.callFake(function(name, value) {
          log.push('set ' + name);
        });
      }
      return el;
    });
    ReactTestUtils.renderIntoDocument(<input value="0" type="range" min="0" max="100" step="1" />);
    expect(log).toEqual([
      'set data-reactroot',
      'set type',
      'set step',
      'set value',
      'set min',
      'set max',
      'set value',
      'set checked',
      'set checked',
    ]);
  });
  it('sets value properly with type coming later in props', function() {
    var input = ReactTestUtils.renderIntoDocument(
      <input value="hi" type="radio" />
    );
    expect(input.value).toBe('hi');
  });
});