—— 学习博客清单: | |
---|---|
vue 瀑布流制作 | |
1.、github ftTony- 资源共享 | 2.、github 前端工匠 -(vue、ajax) |
3.、小程序社区 - 小程序资源汇总 | 4.、segmentfault - 小程序资源汇总 |
—— | |
ajax — 动态获取数据 创建页面的几种方法 ( 博客 ) | |
github — 有很多js基础知识(学习)33个概念 | github — 比较全面涵盖了框架、js等 |
突然顿悟的Javascript中的 this(博客) | |
—— | |
张云龙 - 成长之路 | |
uniapp 生成分享图片 — vue生成课表 — 生成PDF + 生成PDF 2 | 黄秀杰 - 小程序案例 |
– | 语雀 -React Hooks实践 |
---|---|
React 学习资源 -知乎 React 中 hooks 使用详解 Class组件 + 函数组件 写法 UseEffect 里 return一个函数 |
深入浅出 React 和 Redux 电子书 |
【Concent -状态管理】 【HOOKS -状态管理】 — 【HOOKS -状态管理】 |
github-react-ts-axios github-react-ts-axios 2 |
https://juejin.cn/post/6844904006070829069
https://juejin.cn/post/6844904085024407566
https://segmentfault.com/a/1190000019365645?utm_source=sf-similar-article
—— | —— |
---|---|
1、git 的基础使用教程 比较全面 | 介绍 ts,vuejs 博客中也有介绍 |
博客介绍vue.js | |
2、git本地项目连接私人远程仓库以及遇到的问题 | 介绍小程序评论的功能 |
segmentfault - 小程序 —下拉刷新和上拉加载 |
—— | |
---|---|
‘ 不错,应该是培训出来的 JS分页 ’ |
(JS 遍历数组 + ES6 特性)+ 循环案例 |
ts 简洁介绍 + JS 数组面试 | |
layer:H5弹出层解决方案 |
移动端vw | |
---|---|
hCoder视频教程网站; | github - amfe-flexible 方法 |
mui资源汇总; | |
移动端 lib-flexible 适配; |
利用 git 搭建静态网页并开启https
git 错误error: failed to push some refs to
爬虫网易云音乐数据;
Angular7 入门介绍;
json 模拟数据;
vue:
https://www.cnblogs.com/hi-shepherd/p/6911098.html
https://www.cnblogs.com/zhaowy/p/8513070.html
http://www.cnblogs.com/tu-0718/p/7521099.html
https://www.jianshu.com/p/dc5057e7ad0d - 全
https://www.jianshu.com/p/fde852e31cda -webpack打包vuex(注意eslint-loader这个规则
)
服务器:
https://www.jianshu.com/u/a258996de0c1
https://www.jianshu.com/p/3e6292233b5a
https://www.jianshu.com/p/cb89d9ac635e + https://github.com/liuzhike
https://www.jianshu.com/p/20c4d72fb700
https://blog.csdn.net/qq_15267341/article/details/52556859 - json
含义:
const Comp = {
setup() {
const state = reactive({
a: 'jokcy'
})
return () => {
return <input value={state.a} onChange={(e) => state.a = e.targent.value} />
}
}
}
数据绑定分析:
state.a
以及他的 onChange 会修改 state.a
; const handlers = collectionTypes.has(target.constructor)
? collectionHandlers
: baseHandlers
observed = new Proxy(target, handlers)
可以说理解 vue3 的响应式原理过程就是理解这个 proxy创建 的过程,而了解这个过程,主要就是看第二个参数,在这里就是 collectionHandlers 或者 baseHandlers,大部分是后者,前者主要针对,Set、Map 等。
render(h) {
return h('input', state.a)
}
在我们的例子里面,就是 return 回去的 render 函数,这个函数在执行的时候会调用 state.a 所以会进入 proxy 对于 get的代理,这个时候 proxy 就调用了 track,那么这时候的 activeEffect 就是这个 render 方法。这里的 effect就是,当 state.a 改动的时候,我们需要重新执行该 render 方法来进行渲染。
换言之:
这里首先用 reactive 定义 state,传入 effect(也就是 render 方法),然后 effect 会先执行一遍,将 activeEffect 设置为它,然后 cleanup 一遍,因为本来就是空的所以也没什么用,之后执行到 $count.innerHTML = state.count 触发 state 的 get 代理,get 中调用 track(obj, TrackOpTypes.GET, 'count')
,将 activeEffect 收集到 dep(targetMap.set(obj, depsMap.set('count', activeEffect)
))中,最后赋值 activeEffect 为 undefined,到此 effect 首次执行完毕。
那到底什么是依赖呢?依赖其实就是 effect 函数
https://juejin.cn/post/6854573213410656263
https://juejin.cn/post/6866429607785005069#heading-2
https://juejin.cn/post/6883122206214193159
https://juejin.cn/post/6844903977599893517 -Effect篇
https://juejin.cn/post/6909698939696447496#heading-7 -收集依赖
https://juejin.cn/search?query=Vue3%20Proxy&type=all