【发布时间】:2021-05-19 02:02:26
【问题描述】:
这可能是一个基本问题,但是,
我有两个 useState 变量:
const [varOne, setVarOne] = useState(null);
const [varTwo, setVarTwo] = useState(null);
第三个变量告诉我需要使用哪些变量,varOne 或 varTwo:
const [whichVar, setWhichVar] = useState(0);
我还有第三个变量curVar,它是基于whichVar 的值的varOne 或varTwo:
const [curVar, setCurVar] = useState(null);
if (whichVar === 0) {
curVar = varOne;
setCurVar = setVarOne;
} else {
curVar = varTwo;
setCurVar = setVarTwo;
}
我意识到这可能是错误的,但在另一篇文章中我被告知我可以使用 useReducer 来实现这一点,使用 useReducer 实现这一点的最优雅的方法是什么?
【问题讨论】:
-
我真的不明白这个用例。您已经有两个值和另一个值来告诉您使用哪个值。为什么你需要一个重复原始 2 个值之一的 4th?只需使用原始状态值即可。
-
每次我想使用其中一个变量时,我都需要经历检查要使用哪个变量的整个过程,这很烦人,它变得非常混乱。如果我能在一个地方做一次就更好了
-
如果你能提供你如何使用它的例子,我可以根据你的用例来定制我的答案,例如,它是否都在同一个组件中?
标签: reactjs use-reducer