react核心概念-傳遞元素

傳遞元素內(nèi)容

內(nèi)置組件:div、h1撒遣、p

<div>
asdfafasfafasdfasdf
</div>

如果給自定義組件傳遞元素內(nèi)容邮偎,則React會(huì)將元素內(nèi)容作為children屬性傳遞過去。

練習(xí)

demo1:圣杯布局
ThreeLayout組件

import React from 'react';
import './index.css'

export default function ThreeLayout(props) {
  const defaultProps={
    leftWidth:200,
    rightWidth:200,
    minWidth:800,
    gap:0
  }
  const datas=Object.assign({},defaultProps,props)
  return (
    <div className='threelayout' style={{minWidth:datas.minWidth,height:300}}>
      <div className='main'>{props.children}</div>
      <div className='left-side' style={{minWidth:datas.leftWidth,marginRight:datas.gap}}>{props.left}</div>
      <div className='right-side' style={{minWidth:datas.rightWidth,marginLeft:datas.gap}}>{props.right}</div>
    </div>
  )
}

index.css樣式文件

.threelayout{
    display:flex;
}
.threelayout .main{
    flex:1 1 auto;
    order:2;
    border:1px solid #e60000
}
.threelayout .left-side{
    order:1;
    background:lightblue

}
.threelayout .right-side{
    order:3;
    background:yellowgreen
}

在入口文件中使用

import React from "react";
import ReactDOM from 'react-dom';
import ThreeLayout from "./components/ThreeLayout";
const container=document.getElementById('root');


ReactDOM.render(
  <ThreeLayout
  left={<div>左側(cè)區(qū)域內(nèi)容</div>}
  right={<div>右側(cè)區(qū)域內(nèi)容</div>}
  gap={30}
  >
    <div>主區(qū)域內(nèi)容</div>
  </ThreeLayout>,container);

demo2:制作一個(gè)蒙層組件
Modal文件夾
index.js文件

import React from 'react'
import './index.css'
export default function Modal(props) {
    const defaultProps={
        bg:'rgba(0,0,0,0.5)'
    }
    const datas=Object.assign({},defaultProps,props)
  return (
    // 點(diǎn)擊蒙層背景關(guān)閉蒙層
    <div style={{background:datas.bg}} className='modal' onClick={(e)=>{
        if(e.target.className==='modal'){//處理事件冒泡 只有點(diǎn)擊的是modal本身才關(guān)閉蒙層
            datas.toggle(!datas.isShow)
        }
    }}>
        <div className="modal-center">
                {datas.children}
            </div>
    </div>
  )
}

index.css文件

.modal{
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.modal-center{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

Test.jsx組件中使用:

import React, { Component } from 'react'
import Modal from './Modal'
export default class Test extends Component {

    constructor(props){
        super(props);
        this.state={
            showModal:false 
        }
        this.handleToggle=this.handleToggle.bind(this)
    }
    handleToggle(){
    this.setState({
        showModal:!this.state.showModal
    })
    }
  render() {
    const img=<img style={{width:'100%'}} alt='向陽而生' src="https://tse4-mm.cn.bing.net/th/id/OIP-C.Mh_hsy1ou7stl89_Eol7XwHaHa?w=201&h=201&c=7&r=0&o=5&dpr=1.5&pid=1.7" />
    return (
      <div>
        {img}
        {this.state.showModal?(<Modal toggle={this.handleToggle} isShow={this.state.showModal}>
      <button onClick={()=>this.handleToggle()}>關(guān)閉蒙層</button>
        </Modal>):null}
        <button style={{marginTop:'15px'}} onClick={()=>{this.handleToggle()}}>{this.state.showModal?'關(guān)閉蒙層':'打開蒙層'}</button>
      </div>
    )
  }
}

今天就練習(xí)到這里了义黎,明天要繼續(xù)加油禾进!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市廉涕,隨后出現(xiàn)的幾起案子泻云,更是在濱河造成了極大的恐慌,老刑警劉巖火的,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壶愤,死亡現(xiàn)場離奇詭異淑倾,居然都是意外死亡馏鹤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門娇哆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來湃累,“玉大人,你說我怎么就攤上這事碍讨≈瘟Γ” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵勃黍,是天一觀的道長宵统。 經(jīng)常有香客問我,道長覆获,這世上最難降的妖魔是什么马澈? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任瓢省,我火速辦了婚禮,結(jié)果婚禮上痊班,老公的妹妹穿的比我還像新娘勤婚。我一直安慰自己,他們只是感情好涤伐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布馒胆。 她就那樣靜靜地躺著,像睡著了一般凝果。 火紅的嫁衣襯著肌膚如雪祝迂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天豆村,我揣著相機(jī)與錄音液兽,去河邊找鬼。 笑死掌动,一個(gè)胖子當(dāng)著我的面吹牛四啰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播粗恢,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柑晒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了眷射?” 一聲冷哼從身側(cè)響起匙赞,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎妖碉,沒想到半個(gè)月后涌庭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欧宜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年坐榆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冗茸。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡席镀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出夏漱,到底是詐尸還是另有隱情豪诲,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布挂绰,位于F島的核電站屎篱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜交播,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一专肪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧堪侯,春花似錦嚎尤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至次洼,卻和暖如春关贵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背卖毁。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工揖曾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亥啦。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓炭剪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親翔脱。 傳聞我的和親對象是個(gè)殘疾皇子奴拦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容