Reactjs “字符串”类型的React js Typescript参数不能分配给“SetStateAction类型的参数”

Reactjs “字符串”类型的React js Typescript参数不能分配给“SetStateAction类型的参数”,reactjs,typescript,tsx,Reactjs,Typescript,Tsx,您好,我有一个错误: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number>'. 这是我代码的一部分: . . . const[ idPadre, setIdPadre ] = useState<number>(0); . . . <select onChange={ (e) => setIdPadre( e.targe

您好,我有一个错误:

Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number>'.
这是我代码的一部分:

.
.
.
const[ idPadre, setIdPadre ] = useState<number>(0);
.
.
.

<select 
       onChange={ (e) => setIdPadre( e.target.value ) }
       value={ idPadre }
>
<option value="">Select...</option>
       {data.map((item) => {
                            return <option key={item.id}
                                    value={ item.id }
                            >{item.description}</option>
                            })}                                
</select>

因此,我正在添加来自json文件的数据,我希望选择一个项并获取id值。

这个错误非常具有描述性。不能将字符串类型的参数传递到预期为数字的useState挂钩中

您正在使用e.target.value变量调用setIdPadre钩子,该变量是一个字符串

您可以改为将值转换为数字:

{ (e) => setIdPadre( parseInt(e.target.value) ) }

这个错误很有描述性。不能将字符串类型的参数传递到预期为数字的useState挂钩中

您正在使用e.target.value变量调用setIdPadre钩子,该变量是一个字符串

您可以改为将值转换为数字:

{ (e) => setIdPadre( parseInt(e.target.value) ) }
setIdPadre e.target.value值e.target.value可能是一个字符串,而不是在useState0;中设置的数字;。解析它或将useState设置为string而不是数字,或者如果您希望同时接受string和数字,则执行useState0;setIdPadre e.target.value值e.target.value可能是一个字符串,而不是在useState0;中设置的数字;。解析它或将useState设置为string而不是数字,或者如果您希望同时接受string和数字,则执行useState0;