react 父子傳值 react學習之彈出層

2021-10-14 01:27:14 字數 1154 閱讀 6205

eact的彈出層不同於以往的dom程式設計,我們知道,在dom中,彈出層事件繫結在對應的節點上即可,但是在react中,往往只能實現父子之間的傳遞控制,顯然,彈出層的層級不符合此關係。

在這裡我們需要使用react官方的portals

portals可以幫助我們將子節點插入到父節點層級之外的地方

注:官方文件使用的是class,我在這裡使用的是react hook

在react

前置知識

react hook

useeffect是了react生命週期中的componentdidmount、componentdidupdate以及componentwillunmount三個鉤子函式的組合。

實現步驟

2.實現彈出層

我們按照官方文件,先生成乙個節點el作為存放我們子節點的容器,並執行reactdom.createportal

reactdom.createportal(child, container)
我們需要先將我們的el節點插入選定的dom節點,然後再將portal元素插入dom樹中,故我們先用hook在componentdidmount階段將el插入dom

import react, from 'react';import './model.css';import reactdom from "react-dom";import excelutil from '../../utils/excelutil';function content(props)  }/>這樣子子元素就出現在了我們想要的dom層級中

3.在呼叫頁中引入我們的model並定義相關觸發事件,這些與子節點向父節點的方式傳值無異

function registerinuser() return( 匯入人員 }> 匯出** )}export default registerinuser;

最終的醜陋效果

react 父子傳值 react

舉例說明 我現在建立乙個父元件parents 建立兩個子元件 children1,children2 然後將children1,children2巢狀進入parents中,然後渲染parents children1 如下 import react,from react let children1 c...

React 父子元件傳值

什麼叫模組化元件化的開發模式,把共同的部分提取出來。就比如html中的頭部都需要用到,我們就把這部分提取出來。引入乙個 react 定義資料和結果 export default home 就是把元件暴露出來,在其他地方引用這個元件就可以使用。react 元件解決html構建的不足 import re...

React父子元件傳值

父元件傳值給子元件 父元件呼叫子元件方法 父元件 import react from react import from ant design pro layout import childrenorder from components childrenorder 引入子元件 class proc...