我有一个 switch语句,其中如果满足某些条件,则变量 stage 会更改。此变量必须在另一个函数的 switch 之外使用。如何在同一文件中全局使用它?
const stage= 5
export default function (state = INIT, action) {
switch (action.type) {
case types.EXAMPLE:
let stage = 0
if (CONDITION) {
stage = 1
}
else{
stage = 2
}
return{ ...state, someState: someState, }
default:
return state
}
}
switch 语句结束,并且新功能 exampleFunction 开始。 我想在这里使用 stage 。
let exampleFunction = (data, exampleData) => {
if (stage == 2) return generateSomething();}
else { generateSomethingElse(); }
return data;
}
答案 0 :(得分:2)
您不能,stage
完全是您要导出的默认函数的私有对象。如果要在该函数之外使用stage
,则需要将其包含在返回值中,然后在需要stage
的地方使用该函数。
(还要注意,if (stage = 2)
是不正确的,=
是分配的对象。为了进行比较,请使用==
或===
。)>