在写 Vue.js 或 React 的过程,一定都会听过这个名词。
并不是所有的 component 都必须 pure ,不是这样的,是有时候会需要 pure 有时候不需要,重点是开发者是不是可以掌握「我现在要不要 pure」而不是靠本能 pure。
在 pure function 这个专有名词中,我们获得两个重点
也就是说,如果 component 也可以做到一样的效果,不是 pure 至少也要「等效 pure」。
Vue.js 在 component 的语法中,我认为输入可以指 props,输出可以指 event。
从这个角度切入的话,要符合「输出只和输入有关」可以翻译成「event 只和 prop 有关」(请画重点。XDD)
而且在纯 FP 的情况之下 ,是不会宣告变数的,所以尽可能的在 pure component 里面,不要使用 data ,虽然大多数的情况之下,都是可以用 computed 来取代不被修改的 data,但还是有画面逻辑需要的例外状况。
重点:
就算你用 slot 这个定义依然没有矛盾。因为 slot 的 props 会接到另一个 component 的 props。
一般来说,就是不使用 props ,但可以取得资料的做法。
基本的常见情况
有些较难判断的
相信还有很多其它的状况,像是使用 canvas 还是 maps 都是很难判断的情况,所以一开始不要用这个来练习。
在 vue-cli 工具帮我们建置好的专案目录中,有一个 views 和 component 两个地方可以放 .vue
档。初学的时候,只知道要放重复使用的 component,其实真正的意思是放「pure component」唯有 pure 才「好用 (方便重复使用)」,但也因为 pure 不适合由这个 component 决定资料是谁。
反而是由另一个目录 views 的 .vue
档来决定要载什麽资料,在 views 里的 .vue
档,引用 pure component 决定「要怎麽处理、呈现资料」,什麽 type 的资料,就选用相对应的 component 处理 (重要!要画重点)。
其实就不 pure 而已,并不是一定要遵守这个原则,只是照着严格理论有它的优点,但并不是要记教条。没有 pure 其实就没有而已。哈哈~~ 维护上麻烦一点,写的时候小心就可以了。
但是,要是有一丝丝的可能,可以完美的接近严格理论,我愿意遵守。
中秋节连假的最後一个早上,就用早餐吃到饱跟大家说声早安!! 8个月前,决定要分享我生活中很重要的部分...
声码器 (Vocoder) 合成语音的概念最早是由贝尔实验室的工程师 - 荷马·达德利在 1928 ...
接者用高斯滤波器为例子,接者会对其权重参数(weighting, coefficient)讨论~ 所...
接下来要使用 ProtoPie Player 来进行分享。 如果 client 端手机或平板已经下载...
音乐请下BOOM BOOM POW BOM 系虾米? Browser Object Model 的缩...