Modal是什么。
官网解释为:Modal组件可以用来覆盖包含React Native根视图的原生视图(如UIViewController,Activity)。
在嵌入React Native的混合应用中可以使用Modal。Modal可以使你应用中RN编写的那部分内容覆盖在原生视图上显示。
即你的当点击你的Modal的时候,你的Modal是第一视图,而你的页面是子视图。子视图变的不可操作,只有当Modal消失的时候,你才可以操作你的子试图。也就是alert。我们在项目中不可能一直是alert,alert的页面在实际项目中会很丑,这时候就需要自定义框架图。一个简单的项目一起分析一下。Modal的使用。
首先,先来看Modal 的属性。
每个属性。animationType是动画效果,onRequestClose是是否需要方法来请求关闭,onShow是是否需要调用方法来调出Modal。transparent是,是否透明。如果不透明,整个页面就是你的modal。visible 是是否调出。这里显示的是bool类型。其实你也可以用数字。在文章显示的效果图中,我们不难发现,我们点击了哪个modal 调出哪个modal,这是因为,设置了visible 的关系。
代码里。我把modal放在了render。我也尝试过,分别把整个modal放在方法里,然后实现调用,但是发现在运行的时候不能成功渲染。也把放在componentDidMount里,但是也无法实现,没有去细追求缘由,我索性把所有的modal都放在render里。
其实也可以这么做。一个类似的代码。
不能把Modal作为一个整体,需要调用就使用。至少在我这,我尝试了很多没有成功。
然后参考上面的代码,我们不难发现,设置了visibleModal。 ===1 或者 ===2 ,这时候当我们调用的时候就会调用出不同的Modal。。。
对于Modal里的View ,可以自己渲染一个方法,放进去。这是可行的。
以上就是我对于Modal 的理解。希望能帮助到运用Modal 的各位。如果有不正确的地方,还请各位大神指点出来,一起学习。