javascript - ReactJs 无状态组件中的单选按钮

标签 javascript reactjs radio-button stateless

我是 React 和 redux 的新手,我想创建包含两个单选按钮的组件,所以我写了这样的东西:

从 'react' 导入 React, { PropTypes };

const renderCashRadioButtons = currentCashSelector => (
  <form onClick={currentCashSelector}>
    <input
      type="radio"
      name="cash-transaction"
      value="Transcation"
      onChange={value => currentCashSelector(value)}
    />
    <input
      type="radio"
      name="cash-transfer"
      value="Transfer"
      onChange={value => currentCashSelector(value)}
    />
  </form>
);


const CashRadioButtons = ({ currentCashSelector }) => (
  <div className="container">
    {renderCashRadioButtons(currentCashSelector)}
  </div>
);

CashRadioButtons.propTypes = {
  currentCashSelector: PropTypes.func.isRequired
};


export default CashRadioButtons;

currentCashSelector 是一个函数。当我渲染它时,它似乎不起作用。该值没有改变,我没有看到要更新的状态。你有什么想法吗?

最佳答案

  1. 您可能希望您的单选按钮具有相同的名称,以便在选择一个按钮时取消选择另一个按钮。

  2. 看起来您的 onChange 函数需要 value,但它们实际上正在接收 event

  3. form 上的 onChange 和单选按钮上的 onChange 之间可能存在不必要的重复。

可能的解决方案

  <form onClick={event => currentCashSelector(event.target.value)}>
    <input
      type="radio"
      name="cash-type"
      value="Transaction"
    />
    <input
      type="radio"
      name="cash-type"
      value="Transfer"
    />
  </form>

关于javascript - ReactJs 无状态组件中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42834441/

相关文章:

javascript - 滚动到全彩时的透明标题 - 导航覆盖问题

javascript - HTML/Javascript && If 语句中的条件

javascript - 无法将 POST 请求发送到 Google Apps 脚本

javascript - 谁能建议将 React 拖放列表与 Redux 的动态值集成的最佳方法?

javascript - 将 Redux 状态传递给 React 组件

javascript - 渲染顺序中的 Thunk

javascript - 您必须指定 'to' 属性

php - 自动更新 radio 检查

javascript - 在 Angular 单选按钮中绑定(bind)单个 ng-model 以获得 2 ng-repeat

JavaScript 幻灯片重叠问题