Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应:提供给<;的'value'道具;选择>;如果'multiple'为false,则必须是标量值_Javascript_Reactjs_React Redux Form - Fatal编程技术网

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>