使用useState将reactjs中的e.target.value转换为整数
我有一个输入字段,当我们在输入字段中输入值时,我使用event.target.value用输入的值更新状态。默认情况下,event.target.value为字符串。我们能把它转换成整数吗使用useState将reactjs中的e.target.value转换为整数,reactjs,Reactjs,我有一个输入字段,当我们在输入字段中输入值时,我使用event.target.value用输入的值更新状态。默认情况下,event.target.value为字符串。我们能把它转换成整数吗 //useState() const [count,setCount]=useState(); //handler function const handleCapacity=(e)=>{ setCount(e.target.value); }
//useState()
const [count,setCount]=useState();
//handler function
const handleCapacity=(e)=>{
setCount(e.target.value);
}
//form code
<select value={count} onChange={handleCapacity}>
<option value="one">1</option>
<option value="two">2</option>
<option value="three">3</option>
</select>
//useState()
const[count,setCount]=useState();
//处理函数
常量处理能力=(e)=>{
设置计数(如目标值);
}
//表格代码
1.
2.
3.
输出
如果我打印计数值,我会得到字符串值,例如1==>“一”2==>“二”3=>“三”
如何获取整数值?我在这里测试了您的代码,并意识到您可以将数字设置为值,这应该很好,如果您获得像“1”这样的字符串数字,您可以使用此数字(“1”)将其更改为数字,但如果不使用其他函数,您无法从“一”中获取1。
const选项=()=>{
const[count,setCount]=React.useState();
//处理函数
常量处理能力=(e)=>{
console.log(例如target.value)
设置计数(如目标值);
}
返回(
一
二
三
)
}
ReactDOM.render(
,
document.getElementById(“react”)
);代码>
在JavaScript中如果要将字符串转换为整数,可以查看。现在,如果您有这个选项标记1
,您将从e.target.value
获得“1”
<代码>编号(例如target.value)
将为您提供一个JavaScript编号。/*
/*
create an object to map text value
of selected to integer value.
*/
const number = {
"one": 1,
"two": 2,
"three":3,
}
//.....
const [count,setCount]=useState();
//handler function
const handleCapacity=(e)=>{
setCount(number[e.target.value]);
}
//form code
<select value={count} onChange={handleCapacity}>
<option value="one">1</option>
<option value="two">2</option>
<option value="three">3</option>
</select>
创建映射文本值的对象
将选定的值转换为整数值。
*/
常数编号={
"一":一,,
"二":,
"三":,
}
//.....
const[count,setCount]=useState();
//处理函数
常量处理能力=(e)=>{
设置计数(数字[e.目标值]);
}
//表格代码
1.
2.
3.
这些值(“1”、“2”、“3”)是字符串,但不是类似数字的字符串(“1”、“2”、“3”),如果不通过实用函数将字符串映射为数字值,则无法将它们转换为数字。将选项值更改为“1”、“2”、“3”并使用parseInt
或Number
。或者您可以将它们设置为数字字符串并只使用parseInt。如果您阅读了OP的代码,选项值是value=“one”
,而不是value=“1”
,因此暗示执行Number(即target.value)
将导致NaN
。