reactjs - 有条件地包装来自孙子的 React Parent
问题描述
我有一个这样的应用程序:
<App>
<Child_A>
<Child_A_A />
</Child_A>
</App>
在 Child_A_A 级别,我想通过能够像这样包装 App 来影响整个 Dom:
<ViewPortSettings>
<App>
<Child_A>
<Child_A_A />
</Child_A>
</App>
</ViewPortSettings>
所以基本上我想要某种变量或钩子来影响整个应用程序是否被包装:
// Child_A_A.js
global.useViewport(true)
我有哪些选择?
解决方案
一个简单的解决方案是创建两个版本,您可以将它们制作成单独的组件,然后有条件地制作:
{condition && <ViewPortSettings>
<App>
<Child_A>
<Child_A_A />
</Child_A>
</App>
</ViewPortSettings>}
{!condition && <App>
<Child_A>
<Child_A_A />
</Child_A>
</App>}
推荐阅读
- python - 如何理解训练神经网络类型转换器(BERT)的结果?
- e-commerce - 在 Cornerstone (BigCommerce) 中更新结帐布局和 JS 行为
- c - 从子进程返回计算值
- filter - USRP N320 记录边缘
- python - Pandas Append 仅返回一个 Key 行。如何解决?
- kubernetes - kubernetes_ingress kubernetes v2.6.1 - 创建 Ingress 失败
- sass - 如何将浮点数转换为带有转义字符的字符串(用于类选择器)
- http - burp 我得到不安全的连接在证书导入和信任后在 Firefox 中失败
- javascript - 如何将函数转换为对象内的箭头函数
- c# - Xamarin 表单会自行更改 png 图标的颜色