我在组件中有一个变量。我想要函数SetScore()
返回的变量值btnRotate.jsx
setScoreState((prevS) => {
if (btn.deg == deg) {
//console.log(prevS);
return prevS + 1;
} else {
//console.log(prevS);
return prevS;
}
});
我想在这里使用变量pres的值
Img.jsx
function Img({ i, lengthArr }) {
const [width, setWidth] = useState(0);
const [score1, setScore1] = useState(0);
const [score2, setScore2] = useState(0);
///
const [scoreState, setScoreState] = useState(1);
//console.log(prevS);
...
您可以使用useRef
来保持先前的状态值
import { useRef, useState } from 'react'
function Img({ i, lengthArr }) {
const [width, setWidth] = useState(0);
const [score1, setScore1] = useState(0);
const [score2, setScore2] = useState(0);
const [scoreState, setScoreState] = useState(1);
const scoreStateRef = useRef(1); //add `useRef`
console.log(scoreStateRef.current); //replace for `prevS`
...
下面是如何设置scoreStateRef
的值setScoreState((prevS) => {
scoreStateRef.current = prevS; //set value here
if (btn.deg == deg) {
//console.log(prevS);
return prevS + 1;
} else {
//console.log(prevS);
return prevS;
}
});