反应进度元素在IE10上有一个错误

Hug*_*lva 13 javascript internet-explorer reactjs

在使用React渲染progress元素时,为什么IE10(我没有在IE11及以上版本中检查)渲染值1,无论我传入的值是什么?

var Hello = React.createClass({
  render: function() {
    return <progress value="50" max="100"></progress>;
  }
});

ReactDOM.render(
  <Hello />,
  document.getElementById('container')
);
Run Code Online (Sandbox Code Playgroud)

看看这个小提琴 - https://jsfiddle.net/co4wz3ft/5/

它在Chrome和Firefox中按预期工作.

Hug*_*lva 7

经过无数绝望的尝试,我发现反转属性的顺序(max之前声明value)修复了问题:

var Hello = React.createClass({
  render: function() {
    return <progress max="100" value="50"></progress>;
  }
});

ReactDOM.render(
  <Hello />,
  document.getElementById('container')
);
Run Code Online (Sandbox Code Playgroud)

我假设React在设置max之前尝试设置该值,然后将值修剪为默认最大值,即1.但我仍然希望听到其他人更好的解释!