美文网首页
Portal2版

Portal2版

作者: 立陶宛_d5a9 | 来源:发表于2019-12-24 22:52 被阅读0次
import React, { Component } from "react";
import { Text, View, Button, Dimensions } from "react-native";
const ThemeContext = React.createContext({
  add: () => {}
});
class Portal extends Component {
  render() {
    return (
      <ThemeContext.Consumer>
        {({add}) => {
          setTimeout(()=>{
            add(this.props.children)
          },0)  
        }}
      </ThemeContext.Consumer>
    );
  }
}
let triggerChange = () => {}
class Layer extends Component {
  state = {
    node: null,
    nub: 0
  }
  componentWillMount() {
    triggerChange = (node) => {
      this.setState({
        node
      })
    }
  }
  render() {
    return (<View style={{height: Dimensions.get("window").height - 100, backgroundColor: 'red', justifyContent: 'center', alignItems: 'center'}}>
      {this.state.node}
    </View>)
  }
}
class App extends Component {
  state = {
    node: null,
    nub: 0
  }
  add = (node) => {
    triggerChange(node)
  }
  addNub = () => {
    this.setState({
      nub: this.state.nub+1
    })
  }
  render() {
    return (
      <ThemeContext.Provider value={{add: this.add}}>
        <View style={{height: 100, backgroundColor: 'yellow'}}>
          <Text style={{textAlign: 'center'}}>本来该出现的位置</Text>
          <Portal>
            <Text>{this.state.nub}</Text>
            <View style={{height: 200, width: 200, backgroundColor: 'blue'}}>
              <Text>蒙层</Text>
            </View>
            <Button onPress={this.addNub} title='CLICK' ></Button>
          </Portal>
        </View>
        <Layer></Layer>
      </ThemeContext.Provider>
    );
  }
}

export default App;

相关文章

  • Portal2版

  • 从心灵去月球

    一款精致的小游戏,却在GameSpot的年度最佳游戏评选中击败了包括《凯萨琳》、《幽灵欺诈》、《Portal2》、...

  • 祈求无bug注释

    佛祖版 葱官版 神兽版 神兽版2 神兽版3 龙珠悟空版 龙珠比克版

  • 我和蛋宝宝的故事

    拉风版 意外版 走心版 细腻版 感悟版 惜别版 起名版 爱心版 完整版之一 未完待续……

  • Centos7 源码安装 php8.0.0RC版本

    说明: alpha版:内部测试版。beta版:公开测试版。rc版:Release Candidatestable版...

  • 童言童语(同学寄语)

    常规寄语版 直击核心版 委婉劝诫版 浓情期待版 千叮万嘱版 谆谆教导版 慈和长者版 无厘搞笑版 互动交流版

  • 中古游戏回顾

    英雄传说1 dos版与sfc版 英雄传说2 dos版与sfc版 dos版与md版 古大陆物语 dos版与sfc版 ...

  • 天使28班第8组梦想版

    祁红莲-梦想版 凯荔-梦想版 乔歌-梦想版 白起-梦想版 马康-梦想版 杜见鑫-梦想版 方丽-梦想版 善泽-梦想版...

  • 天使28班2.0第五组梦想版汇总展示

    朱明会梦想版: 万鹤梦想版: 杨洋梦想版: 谭本金梦想版: 喻兰梦想版: 钟红海梦想版:

  • js_8 冒泡排序

    简单版 中级版 最终版

网友评论

      本文标题:Portal2版

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