有3个radio单选框,我发现不管我怎么点击其它两个没有勾选上的单选框都没反应,这个该怎么解决呢
const SexRadio=React.createClass({
getInitialState:function(){
return {}
},
render:function(){
return (
<div>
<input type="radio" value="1" checked={false} /> 喜欢
<input type="radio" value="2" checked={true} /> 不喜欢
<input type="radio" value="3" checked={false} /> 无所谓
</div>
);
}
});
ReactDOM.render(<SexRadio/>,document.getElementById('SexRadio'));
你这是受控组件的写法,所有input组件的checked属性已经被你写死了,所以就不会再响应界面上的用户交互行为了。正确的做法是:input checked值应该通过组件的state获取,每个input定义一个onChange方法,监听inpupt的变化,将改变同步到state中。
好好了解下受控组件的概念,就不会有这个问题了:https://reactjs.org/docs/form...