从B对组件A进行本机极限递归调用,反之亦然

时间:2018-09-07 10:05:26

标签: react-native

我的头衔可能写得不好,对不起,英语不好。

我正在使用本机反应。我有多个组成部分,让我们说A,B,C等

  • 在A组件内部,我可以在B组件内部打开模态。
  • 在B组件内部,我可以在C组件内部打开一个模态。
  • 在A组件内部,我可以在A组件内部打开模态。

所以我可以一遍又一遍地打开很多模式,并得到非常慢的应用程序,因为使用了很多内存(组件也很重)

我想限制这种“递归”模态的数量。 我的想法是将道具传递给所有带有

父组件阵列/堆栈的组件
<A stackviewTrace={[...this.props.stackviewTrace,'A']}>...</A> 
<B stackviewTrace={[...this.props.stackviewTrace,'B']}>...</B> 
<C stackviewTrace={[...this.props.stackviewTrace,'C']}>...</C> 

因此,如果我先打开A,然后B,然后C,然后A,然后B,然后C,在C组件中,我将得到stackviewTrace = ['A','B','C','A','B','C'] 因此,如果stackviewTrace中的'C'数量大于2,我将禁用打开A组件模态的按钮(或类似的东西)

我现在只找到了这种“肮脏”的解决方案,您觉得呢?

PS:组件未通过导航打开(我没有找到一种方法来获取所有已打开的stackView的数组)

thx

0 个答案:

没有答案