I am new to react, I have a textbox, and I want by clicking on , it increase by 1, but the value does not change by clicking, although I set setVal, Any idea
import React, { useState } from 'react';
function WidgeStar (){
const [val, setVal ] = useState (20);
return (
<div>
<div><input type="button" value="1" onclick = {() => setVal(16)} text="1" /></div>
<div><input type="button" value="2" onclick = {() => setVal(16)} text="2" /></div>
<div><input type="button" value="3" onclick = {() => setVal(16)} text="3" /></div>
<div><input type="button" value=" " onclick = {() => this.setVal(val-1)} /></div>
<div><input type="button" value="--" onclick = {() => setVal(val-1)} /></div>
<div><input type="text" value= {val} /></div>
</div>
);
}
export default WidgeStar;
CodePudding user response:
Change onclick to onClick - see "Handling Events" from the React documentation. Also, you don't need to call this.setVal, just setVal. And if you want to increment the value, you should use val 1 instead of val-1 (it looks like your code does the same thing for and -- at the moment):
<div><input type="button" value=" " onClick = {() => setVal(val 1)} /></div>
CodePudding user response:
use camelcase on onClick . use basic rule
