美文网首页ReactNative
react-native 实现全局弹窗的一种方法

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

作者: weithl | 来源:发表于2018-05-05 19:26 被阅读1094次

    应用场景:

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

    由于有多个地方使用同样的逻辑,按照传统的 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 
    
    

    相关文章

      网友评论

        本文标题:react-native 实现全局弹窗的一种方法

        本文链接:https://www.haomeiwen.com/subject/oiuerftx.html