Day23 Portal

Portal为不产生parent节点的情形下,将children渲染到DOM节点上面的方法。起手的宣告方式如下:

ReactDOM.createPortal(child, container)

第一个参数child可放入任一个React元素,例如 element、string 或者 fragment。
第二个参数放任一DOM节点。

使用时机

当parent节点设有overflow: hidden 或者 z-index等样式时,若需要子节点传递到外部的情况时便可以使用,如一些hover效果或是弹窗。

使用方式

通常当 component 的render方法回传一个React元素时,此元素会作为 child 被传进最接近的parent节点中:

render() {
  // React 产生一个新的 div 并将 children 渲染 进去
  return (
    <div>
      {this.props.children}
    </div>
  );
}

使用portal将children传进parent节点之外:

render() {
  // 不产生div(parent节点),将child放入其他任一DOMNode中
  return ReactDOM.createPortal(
    this.props.children,
   DOMNode
  );
}

<<:  [Day 23] Crypto 小生活

>>:  Day 24:Ansible 的一些设定

Day 14. 模板语法Template Syntax – 插值 Attribute、JavaScript 表达式

让我们接续昨天的模板语法介绍吧,昨天讲了v-once跟v-html,今天来说说属性跟JavaScri...

[Day 7]想不到有梗的标题LA(前端篇)

没有想到连假结束後的第一天就要冨樫了...,我工作的公司在新加坡,而我在台湾full remote,...

14. STM32-透过SPI驱动MCP2515实现CAN(下)

对於MCP2515 DataSheet还不太清楚的话,可以看看上一篇针对DataSheet有些说明~...

[Day 28] 第二主餐 pt.4-程序不求人,runserver背景执行及crontab自动执行

上一篇跟上上一篇我们终於分别把两个环境架设好了 这篇我们就要来介绍如何在背景执行runserver ...

[DAY19] 跟 Vue.js 认识的30天 - Vue 自定义指令(`directive`)

在粗浅的看过这一章时,觉得 Vue 真的有好多功能啊,目前的我似乎还是没办法很熟用 Vue 的每项语...