如何保持前一个状态的状态

时间:2021-05-18 02:18:00

标签: reactjs state context-api

说我有一个按钮 <Button onClick={updateAndSave()}> 和一组状态 const [random,setRandom] = useState(randomValue())

每当我点击按钮时,random 就会更新。假设我做了几行这样的:

let h = random;
let y = random + 2;

因此,每当 random 更改时,使用它的所有变量也会更新。但是,我希望能够在上一次点击中存储 random 的值。我该怎么做呢?我认为这不太可能,因为无论在哪里使用 random,它都会得到更新,我该怎么做?

1 个答案:

答案 0 :(得分:1)

这按预期工作。如果您真的想保留点击的先前状态,您可以做的不是将 random 分配为整数,而是使用数据结构来保留状态。您可以使用数组并在每次点击后附加和附加,或使用对象来保留键值对 click1: 12

作为数组:

let random = [];
random.push(randomValue());
random.push(randomValue());
// random = [1,3]

As object:
let random = {};
random.click1 = randomValue();
random.click2 = randomValue();
// random = {click1: 1, click2: 3}

取决于您的用例以及您希望如何检索以前的状态

相关问题