原先代码片段:
const [searchvalue, setsearchvalue] = useState(new String());
setinterval(
setInterval(function() {
logrefresh();
}, refreshsecond * 1000),
);
function logrefresh() {
if (lword != null && lword.length > 0) {
props.dispatch({
type: 'AAA/aaa',
payload: {
data: searchvalue,
},
});
} else {
message.error('noname');
}
}
是要更新读取searchvalue的值,但是读到的值一直是之前的值,当更改searchvalue时,读到的还是之前的值
查了很多资料找到了解决方法,就是使用useRef
const searchvalue=useRef(String);
useEffect(() => {
searchvalue.current.value=null;
}, []);
function logrefresh() {
if (lword != null && lword.length > 0) {
props.dispatch({
type: 'AAA/aaa',
payload: {
data: searchvalue.current.value,
},
});
} else {
message.error('noname');
}
}
这样改了之后,每次读到的就是const最新的值了
新手小白,如果有帮助到你,能点个赞嘛!!谢谢!!!