react-native 实现全局弹窗的一种方法

应用场景:

用户事件 -> 网络请求 -> 根据结果弹出不同的内容弹窗

由于有多个地方使用同样的逻辑,按照传统的 Model 写法,在 render 里实现,这样需要写多次同样的内容。考虑像原生开发一样,实现统一的弹窗处理逻辑。

要用js达到这种效果,基本思路是,获取应用当前视图,将弹窗层渲染其上。

正好需求的逻辑跟网络请求后 toast 弹窗相似,只是需要一直显示。

所以 参照 ant-design-mobile Popup 的方式,实现了一个全局弹框 github

效果

preview.gif

使用

$ yarn add rn-global-modal
import Pop from 'rn-global-modal'

render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome} onPress={this._showPop.bind(this)}>
          Show Pop
        </Text>

      </View>
    );
  }

  _showPop(){
      Pop.show(
          <View style={{height: 300, width: '80%', backgroundColor:'red'}}/>
          ,{animationType: 'slide-up', maskClosable: true, onMaskClose: ()=>{}})
  }
  
  // animationType fade slide-down slide-up 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,702评论 1 180
  • 关于文章的推送时间段的讲究(1) 我关注的所有公众号中,觉得最妙的就是罗辑思维了。 首先从它的推送时间段来看...
    海底世界飞阅读 1,008评论 0 0
  • 遇到事情肌肉总是酸疼 迈不开腿 走不动道 都交给明天 也许明天就不会拖延 都是骗人的 跟童话里的一样 都是骗鬼的 ...
    小脸猫阅读 273评论 0 1
  • 坦白说来直到现在,他对于自己制作蛋糕这一兴趣的来由都没有丝毫头绪,实在无法回忆起一个称得上节点的存在(即时间或事件...
    冻墩尔咚阅读 623评论 2 2
  • 01 最近,【合适】这个词总是能浮现在我的脑海里。 合适的关系,合适的岗位职责,合适的影响力等。 有句话讲,你现在...
    Chloeeeee_e阅读 258评论 0 0