使用 React

我无法在有条件的情况下停止循环。我能够在单击按钮后停止间隔,但在循环增量等条件后无法停止。这个简单的例子尝试在 5 个循环后停止间隔循环。

任何解决方案将不胜感激!

import React,{ useState } from 'react';

let gameLoop: any;

function App() {
  const [loopCount,setLoopCount] = useState(0);
  const [running,setRunning] = useState(true);

  const gameLogic = () => {
    console.log('Game logic!')
  }

  const loop = () => {
    gameLogic();
    setLoopCount(prev => {
      const newCount = prev + 1;
      console.log(newCount)
      return newCount
    });

    // Stop the loop on a conditional
    if(loopCount >= 5){
      clearInterval(gameLoop)
    }
  }

  const handleStartButtonClick = () => {
    gameLoop = setInterval(loop,1000)
    setRunning(true);
  }

  const handleStopButtonClick = () => {
    clearInterval(gameLoop);
    setRunning(false);
  }

  const handleResetButtonClick = () => {
    setLoopCount(0);
    console.clear();
  }

  return (
    <div classname="App">
      <div>
        <button onClick={handleStartButtonClick}>Start</button>
        <button onClick={handleStopButtonClick}>Stop</button>
        <button onClick={handleResetButtonClick}>Reset</button>
      </div>
    </div>
  );
}

export default App;
xajs18 回答:使用 React

解决方案是将条件放在组件级别,而不是在循环方法中。

import json

data  = '[ { "exchange": "NSE","tradingsymbol": "INFY","transaction_type": "BUY","variety": "regular","product": "MIS","order_type": "LIMIT","quantity": 1,"price": 100,"trigger_price": 0 } ]'

data1=json.loads(data)
data1[0]['tradingsymbol']='symbol'
jsontext = json.dumps(data)
本文链接:https://www.f2er.com/1107023.html

大家都在问