鍍金池/ 問(wèn)答/HTML/ 在vue中,渲染函數(shù)和函數(shù)式組件的區(qū)別在哪?

在vue中,渲染函數(shù)和函數(shù)式組件的區(qū)別在哪?

看文檔反復(fù)看了好幾遍也沒(méi)找到區(qū)別在哪,所以來(lái)這里求助一下大神們!
這是我沒(méi)加functional: true的代碼,在render函數(shù)里可以取到data里的userName
圖片描述

這是我加上functional: true之后的代碼,然后使用context.data.userName就取不到data里的值了
圖片描述

第一:請(qǐng)問(wèn)這是為什么?
第二:渲染函數(shù)和函數(shù)式組件的區(qū)別在哪?
求大佬們指導(dǎo)~

回答
編輯回答
爆扎

1
加上functional:true 就是無(wú)狀態(tài) data, 無(wú)上下文 this !
https://cn.vuejs.org/v2/guide...
2 至于說(shuō)有什么區(qū)別

render函數(shù)可能在渲染重復(fù)段落 或者內(nèi)容 更有效 更間接
組件的話(huà)可能更容易直觀看 讀 改 維護(hù)等等把  
結(jié)果都是一樣的 各有個(gè)的好處把
2017年2月17日 11:02
編輯回答
安若晴

functional組件可以理解為react里的無(wú)狀態(tài)組件,內(nèi)部不存儲(chǔ)用于在界面上展示的數(shù)據(jù),傳入什么,展示什么,傳入的是相同的數(shù)據(jù),展示的必然是相同的。相對(duì)于一個(gè)純函數(shù)一樣,沒(méi)有其他副作用

2017年7月8日 16:48
編輯回答
有點(diǎn)壞

這就是一個(gè)功能的兩種實(shí)現(xiàn)形式,函數(shù)式組件一般針對(duì)較大的功能塊,render則是針對(duì)局部的實(shí)現(xiàn)。在開(kāi)發(fā)中這個(gè)使用哪一個(gè)的尺度一般是開(kāi)發(fā)者自己把握。render有使用的局限性,functionnal更靈活。

2018年7月3日 23:47