一、什么是副作用
我的理解:函数式编程强调的是,相同输入,必定得到相同结果。而具有副作用的函数是在执行过程中引起了一些如修改全局变量的操作,使得函数执行后,结果是不确定的。
二、react 常用相关副作用库
https://github.com/gaearon/react-side-effect
https://github.com/helmetjs/helmet
三、node 端为什么需要 rewind
副作用修改了全局变量,而服务端需要 reset for each next request
如 react-helmet 中,没有 willmount 的生命周期,没有进行相应变量的清理,所以也要 rewind 进行内存清理
四、源码阅读
https://github.com/Junting-Liu/react-side-effect
对 react 源码进行了阅读。并加入了相关注释。
网友评论