Reactjs 为什么';输入组件中的设置设置值增量是否为?
我想增加我创建的输入组件中的值,它只需单击一次就可以工作,然后在启动pressHandler的每个按钮上来回切换5和6。为什么会这样 这可能是关于defaultValues数组本身的问题,还是我的setSetsValue完全错误 每次按下按钮后,defaultValues[0].sets.totalSets的值不应该递增吗?还是我错了,因为我认为这是荒谬的 谢谢你的帮助 守则:Reactjs 为什么';输入组件中的设置设置值增量是否为?,reactjs,react-native,react-state,Reactjs,React Native,React State,我想增加我创建的输入组件中的值,它只需单击一次就可以工作,然后在启动pressHandler的每个按钮上来回切换5和6。为什么会这样 这可能是关于defaultValues数组本身的问题,还是我的setSetsValue完全错误 每次按下按钮后,defaultValues[0].sets.totalSets的值不应该递增吗?还是我错了,因为我认为这是荒谬的 谢谢你的帮助 守则: 让默认值=[ { 集合:{totalSets:“4”}, 作品:{min:“00”,sec:“50”}, 其余:{分
让默认值=[
{
集合:{totalSets:“4”},
作品:{min:“00”,sec:“50”},
其余:{分钟:“00”,秒:“30”},
},
];
常量[SetValue,setSetsValue]=useState(默认值[0].sets.totalSets);
常量pressHandler=()=>{
defaultValues[0].sets.totalSets=
parseInt(默认值[0].sets.totalSets)+1;
setSetsValue(默认值[0].sets.totalSets.toString());
};代码>看看这个例子
让valueA=1;
console.log(valueA)//日志值
常量处理程序=()=>{
valueA=valueA+1;//增加值
setAnyStateValue();//更新状态
};
如果调用handler()
100次日志结果为:1代码>
为什么日志不增加???
因为handler()
将通过函数setAnyStateValue()
更新状态,并且每次更新状态时,组件都会再次重新渲染并再次声明值a让值a=1代码>
如何解决这个问题
独奏一号
setSetsValue(x=>x+1)//这将基于上一个值加上一个值更新值
解决方案二
const pressHandler=()=>{
setSetsValue(parseInt(setsValue)+1);
};
如何将defaultValue更改为value?