Javascript 在同一时间修改相同的状态

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

我刚刚开始学习一些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 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)