input中如何使用if?

How to use if in input?

当我有 props.a 时,如何设置 'checked'?我看不懂怎么写,像这样:

<input if (props.a > x) {checked='checked'}/>

我尝试了 <input {props.a > x ? 'checked' : ''}/>,但出现错误

你应该使用 <input checked={ (props.a > x) } />.

您可以将 checked 分配给状态值并在 componentWillReceiveProps 函数中控制此状态,因为它会在 props 更改时调用 喜欢

componentWillReceiveProps(nextProps) {
    if(nextProps.a > x) {
         this.setState({checked: 'checked'});
    }

}

<input checked={this.state.checked}/>

否则你可以 return 一个值直接放在像

这样的道具中
<input checked={(props.a > x)? 'checked': null}}/>

class App extends React.Component {
  render() {
    var a = 10;
    var x = 9;
    return (
      <div>
      <input type="checkbox" checked={(a > x)? 'checked': null}/></div>
    )
  }
}

ReactDOM.render(<App/>, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>