【发布时间】:2019-09-07 06:31:42
【问题描述】:
最近我试图为我的应用完成一项功能。我需要使用布尔值来打开或关闭功能。
我试过了:
.env.development
REACT_APP_IS_FEATURE_AVAILABLE = 0
.env.production
REACT_APP_IS_FEATURE_AVAILABLE = 1
features.js
const { REACT_APP_IS_FEATURE_AVAILABLE } = process.env
export default {
IS_FEATURE_AVAILABLE: REACT_APP_IS_FEATURE_AVAILABLE //
}
现在假设它处于开发模式,当我这样做时:
index.js
import Features from "./features.js";
if(Features.IS_FEATURE_AVAILABLE) {
return (<div>Markup here!</div>)
};
但是,无论IS_FEATURE_AVAILABLE 的值是多少,if 总是在传递。
我确实想出了一个解决办法,而且效果很好。但我仍然很困惑为什么这不起作用。
针对这个答案:https://stackoverflow.com/a/55720488/8349557 这是我尝试过的:
【问题讨论】:
-
用
Features.IS_FEATURE_AVAILABLE怎么样? -
@DhavalMarthak 打错了.. 只做
Features.IS_FEATURE_AVAILABLE -
是的,我忘记了
"0" == true这两个值似乎都被强制转换为数字......所以它变成了0 == 1- 这是错误的......但"0"仍然是真实的...... @ 987654335@ 为真,而!!0为假 -
@JaromandaX 您能否更新您的答案,我会将其标记为正确。 :D
-
我已经删除了
"0" == true错误:p
标签: javascript reactjs environment-variables