学习阅读清单

—— 学习博客清单:
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

含义:

在这里插入图片描述
方法:
学习阅读清单_第1张图片
&& 与 || 区别:
学习阅读清单_第2张图片

const Comp = {
  setup() {
    const state = reactive({
      a: 'jokcy'
    })
    
    return () => {
      return <input value={state.a} onChange={(e) => state.a = e.targent.value} />
    }
  }
}

数据绑定分析:

  • 创建了一个组件,通过 reactive 他有一个响应式的数据对象;
  • 然后 render 里面的 input 的 value 绑定的是 state.a 以及他的 onChange 会修改 state.a
  • 根本原因: vue会重新渲染我们return的render函数,来更新节点
  const handlers = collectionTypes.has(target.constructor)
    ? collectionHandlers
    : baseHandlers
  observed = new Proxy(target, handlers)

可以说理解 vue3 的响应式原理过程就是理解这个 proxy创建 的过程,而了解这个过程,主要就是看第二个参数,在这里就是 collectionHandlers 或者 baseHandlers,大部分是后者,前者主要针对,Set、Map 等。

最后要记录这次的 effect 了,这里所谓的 effect 是什么呢?
  • 就是当前正在调用这个对象的函数
  • 当从组件中的 data() 返回一个对象时,它在内部通过 reactive() 变成响应式对象。模板会被编译成能够使用这些响应式 property 的渲染函数。
  • 渲染函数:
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

你可能感兴趣的:(【Vue,相关】,javascript)