Javascript 反应:提供给<;的'value'道具;选择>;如果'multiple'为false,则必须是标量值
我收到这样的警告:Javascript 反应:提供给<;的'value'道具;选择>;如果'multiple'为false,则必须是标量值,javascript,reactjs,react-redux-form,Javascript,Reactjs,React Redux Form,我收到这样的警告: 警告:如果'multiple'为false,则提供给的'value'属性必须是标量值。检查“Control”的渲染方法。 我正在使用React Redux表单 数据以对象数组的形式进入,显示在select options元素内部。我不想将控件转换为倍数,因为我们只希望用户选择一个值 如何解决此警告?如果您指定 multiple={false} 然后,无论您在上提供什么,选择作为值都必须是单个值,如“apple” 但是,如果您指定 multiple={true} react
警告:如果'multiple'为false,则提供给的'value'属性必须是标量值。检查“Control”的渲染方法。
我正在使用React Redux表单
数据以对象数组的形式进入,显示在select options元素内部。我不想将控件转换为倍数,因为我们只希望用户选择一个值
如何解决此警告?如果您指定
multiple={false}
然后,无论您在上提供什么,选择作为值都必须是单个值,如“apple”
但是,如果您指定
multiple={true}
react需要一个数组:
value={['apple','orange']}
请参见中带有multiple={true}的select示例
请记住,如果将react设置为true,则react将只向呈现的html添加multiple
关键字。因此,您的控件可以将multiple
属性设置为false,并且不使用multi-select创建渲染元素。如果在您的状态中使用数组,则如果不执行多个搜索,则会出现该错误
如果是简单搜索,请使用单引号“”
在使用状态(“”)
const[categoria,setCategoria]=useState(“”)
setCategoria(e.target.value)}
值={categoria}
>
你解决了这个警告吗?@Pavelkrizanovskiy-不,我还没有解决这个问题:/I我也无法解决它,我想知道它的值是不是因为我给了它一个对象的键,它仍然是一个字符串,比如objVar.name,但仍然。。。这个警告会弹出,尽管每当我使用multiple={true}时表单工作正常,但看起来选项是可见的,就像从文本区域查看一样,而不是使用滚动方法查看下拉选项。有人遇到过这个问题吗?@DavidHahn如果你检查生成的HTML,实际创建的元素是什么?也许是款式问题?谢谢你的跟进。我意识到在代码中先前嵌套的数据之上有一个额外的jsx标记呈现。解决了我的问题!出于某种原因,我让useState使用数组
const [categoria, setCategoria] = useState('')
<select
onChange={e => setCategoria(e.target.value)}
value={categoria}
>
</select>