render props模式的兩種寫法

2021-10-23 21:49:14 字數 1193 閱讀 2345

第一種寫法:

在mousemove案例中,我自己使用的方式是父子傳值的方式進行資料的傳遞。

有沒有更簡單的方式呢?

首先通過render將子元件中的資料state返回出去

子元件**塊:

import react,

from

'react'

export

default

class

index

extends

component

}render()

componentdidmount()

mousemovehandler

=(e)

=>)}

}

在父元件掛載時,同樣通過render進行資料的接收,拿到資料後,return資料渲染的模板。

類似於vue.js中的插槽

render()

<

/p>}}

>

<

/mouse>

<

/div>

)}

第二種寫法:

子元件中將render換成children

render()

父元件中掛載的方式有所不同

)=>

:<

/p>}}

<

/mouse>

個人認為第二種更好理解使用一些,同樣的乙個元件,但復用效果更加完美。

拓展:父元件**塊:

import react,

from

'react'

import

;import mouse from

"../src/component/mousemove/index"

export

default

class

extends

component

}render()

)=>}/

>}}

<

/mouse>

<

/div>)}

changehandler

=(x,y)

=>)}

}

react中的render props模式

在前端開發的過程中,如果我們遇到兩個元件功能相同或者類似,應該怎麼處理呢?復用相似的功能?復用什麼?state,操作state的方法。有兩種方式 render props模式 高階元件 hoc 這兩種方式不是新的api,而是利用react自身特點的編碼技巧,演化而成的固定模式,接下來我們以rende...

談談React中的Render Props

簡要介紹 分離ui與業務的方法一直在演進,從早期的mixins,到hoc,再到render prop,本文主要對比hoc,談談render props 1 早期的mixins 早期復用業務通過mixins來實現,比如元件a和元件b中,有一些公用函式,通過mixins剝離這些公用部分,並將其組合成乙個...

ftp的兩種模式

常用ftp的人都知道,ftp在傳輸檔案的時候分為兩種模式 ascii模式 和 二進位制模式 1 ascii模式是一般是用來傳輸文字檔案的 2 二進位制模式是用來傳輸二進位制檔案的 一般我們使用ftp工具進行檔案傳輸的時候,工具內部應該會識別檔案型別,而如果我們使用windows內建的ftp,在命令列...