当前位置:  开发笔记 > 编程语言 > 正文

从React组件中的Select发送数字而不是字符串

如何解决《从React组件中的Select发送数字而不是字符串》经验,为你挑选了1个好方法。

我有一个“受控” React组件,用于一个非常简单的下拉列表,如下所示:

const MyDropDown = ({field, handleChange}) => {

   return(

      
   );
}

MyDropDown.propTypes = {
   field: PropTypes.number.isRequired,
   handleChange: PropTypes.func.isRequired
}

export default MyDropDown;

最初,我的值设置field0我的减速器。这是正确的做法,因为值始终是数字。我遇到的问题是:

最初,一切都很好,但是当我进行选择时,我得到一条警告,提示提供了无效的字符串类型prop,并且它期望有一个数字。

如何确保选项中的值是数字而不是字符串?

顺便说一句,我尝试不使用引号作为选项值,但是React似乎不喜欢它,即



1> 小智..:

我认为你的handleChange看起来像这样

handleChange(e) {
    this.setState({ val: e.target.value});
}

这里的问题是html需要在属性值两边加上引号,因此本质上e.target.value解析为字符串。一个简单的解决方法是通过使用将其解析为数字

parseInt(e.target.value, 10);

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有