Javascript 在同一时间修改相同的状态
我刚刚开始学习一些react native,我正在尝试制作一个简单的cookie clicker应用程序。 当我点击我的cookie时,cookiecount增加1,但我希望cookie计数也每秒钟增加1。当我多次点击cookie时,cookiecount会跳转到不同的数字,然后再返回,我想这与我同时更新cookiecount状态2次有关Javascript 在同一时间修改相同的状态,javascript,react-native,state,setinterval,react-functional-component,Javascript,React Native,State,Setinterval,React Functional Component,我刚刚开始学习一些react native,我正在尝试制作一个简单的cookie clicker应用程序。 当我点击我的cookie时,cookiecount增加1,但我希望cookie计数也每秒钟增加1。当我多次点击cookie时,cookiecount会跳转到不同的数字,然后再返回,我想这与我同时更新cookiecount状态2次有关 export default function App(props) { {/* Make the state that holds the amount
export default function App(props) {
{/* Make the state that holds the amount of cookies */}
const [cookieCount, modifyCookieCount] = useState(0)
const [costCount, modifyCostCount] = useState(10)
const [perClickBoost, setBoost] = useState(1)
const interval = setInterval(() => modifyCookieCount(cookieCount+1), 1000);
function addPurchase(count){
modifyCookieCount(cookieCount-count)
modifyCostCount(costCount+10);
setBoost(perClickBoost+1)
}
return (
<View style={styles.container}>
<Text>{cookieCount}</Text>
{/* TouchableOpacity is needed to make use of Onpress prop */}
<TouchableOpacity onPress = {addCookie}>
<Image style={styles.image} source={require('./images/cookie.png')}/>
</TouchableOpacity>
<Purchasables addPurchase={addPurchase} count={cookieCount} title='Koekjesslaaf' cost={costCount}/>
<StatusBar style="auto" />
</View>
);
function addCookie(){
{/* Add a cookie */}
modifyCookieCount(cookieCount+perClickBoost)
}
}
及
我希望有人能帮我解决这个问题,如果我的代码没有意义,我很抱歉,我刚刚开始学习。我的建议是,可以将count cookie拆分为2个变量
const [cookieAutoCount, modifyCookieAutoCount] = useState(0)
const [cookieTouchCount, modifyCookieTouchCount] = useState(0)
您需要做的是检查cookieAutoCount+cookieTouchCount>limit
是否重置这两个值
每次自动递增和触摸递增时检查两种情况
function addCookie(){
{/* Add a cookie */}
modifyCookieCount(cookieCount+perClickBoost)
}
const [cookieAutoCount, modifyCookieAutoCount] = useState(0)
const [cookieTouchCount, modifyCookieTouchCount] = useState(0)