reduxForm v5.3.1复选框上的非受控/受控警告

时间:2017-04-07 14:03:55

标签: forms reactjs redux-form

所以,这是警告:

Warning: UserInviteForm is changing an uncontrolled input of type checkbox to be controlled.

在查看了reduxForm v5和其他人的this票证后,似乎我收到了此警告,因为该字段的初始值未定义,因此输入值属性需要使用fields值初始化|| "&#34 ;.

进一步research,受控制的复选框需要将checked属性设置为值。

所以我的假设是清除警告的方法是以两种方式之一编写输入标记:

<input
  {...isPrimary}
  value={isPrimary.value || ''}
  type="checkbox"
>

OR

<input
  {...isPrimary}
  checked={isPrimary.checked || ''}
  type="checkbox"
>

为了更好的衡量,我还尝试了checked={isPrimary.checked || false}value={isPrimary.value || false}以及两者的组合。

我甚至尝试在组件挂载上设置isPrimary的checked和value属性,但仍然没有任何东西可以消除警告。

另外,我想补充一点,我知道有一个reduxForm v6,但这是我们正在努力解决的部署应用程序的当前版本,而reduxForm v6将在我们应用的未来部署版本中出现。

任何人都有解决这个问题的见解吗?

1 个答案:

答案 0 :(得分:0)

我尝试了另外一件事并想出了解决方案。

通过在连接reduxForm时设置字段的初始值,然后将输入值设置为该初始值,我能够使其工作。

lsmip(Oats.lmer2sub, Variety ~ nitro, ylab = "Predicted log(yield)", at=list(nitro=c(0, 0.2, 0.4, 0.45, 0.46,  0.6)))