尝试思考在React中创建特性标志的方法



我正试图在我的react项目中创建一个功能标志(我认为我必须在appsettings.json文件中添加一个功能标记(,该标志是为了隐藏当前正在开发的功能,因为我们不希望用户在这些功能尚未完全测试时拥有这些功能。所以我目前的方法是用if(flag({new code}这样的条件来包装新开发的代码。如果这种方法看起来很傻,我很抱歉,但这就是我作为新手所能想到的,所以如果可能的话,你们能帮我找到一些可行的方法吗?

因此,我尝试将if条件添加到代码库中的现有功能中,因为新开发的代码尚未提交,但它不起作用。

根据你三个小时前的评论,我能够弄清楚你到底想做什么。

所以:已经有了标志,所要做的就是使用它。至少有三种方法可以做到:

  1. 隐藏它-我认为MDN文档已经很好地解释了它
  2. 使其透明-这就是您所做的:将不透明度设置为0
  3. 根本不渲染

不渲染是这样实现的:

return (    
<SomeParentComponent>
{EnableDivision &&
<Division/>
}
</SomeParentComponent>
)

这并不是说他们中的一个比其他人更好:他们都是情境性的。

  1. 隐藏元素被渲染,因此具有状态,可以在DOM树中找到,但不占用任何空间
  2. 透明就像隐藏的,但占用空间
  3. 另一方面,在DOM树中找不到未渲染的,不占用任何空间,创建它的函数或类永远不会运行,因此它也不能有任何状态

希望这能消除你对如何做到这一点的疑虑。

此外,如果您需要在组件树的不同位置的许多不同组件中使用一些标志,请查看React Context的功能。

最新更新