所以,这是警告:
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将在我们应用的未来部署版本中出现。
任何人都有解决这个问题的见解吗?
答案 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)))