关于react中的input radio问题

有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'));
阅读 8.6k
2 个回答

你这是受控组件的写法,所有input组件的checked属性已经被你写死了,所以就不会再响应界面上的用户交互行为了。正确的做法是:input checked值应该通过组件的state获取,每个input定义一个onChange方法,监听inpupt的变化,将改变同步到state中。
好好了解下受控组件的概念,就不会有这个问题了:https://reactjs.org/docs/form...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题