17.关于虚拟节点VNode 发表于 2020-11-25 更新于 2023-09-21 Valine: 本文字数: 1.1k 阅读时长 ≈ 1 分钟 何为 VNode在开发过程中,或许总会听到有人提到过虚拟节点,那么这个究竟是个什么东西?首先我们要有一个认知,那就是 js 的操作的执行速度是远远高于 DOM 的操作的。基于这个认知,为了提升页面的性能,我们宁可多执行一些 js 操作,也要减少对 DOM 的操作(重绘、回流)次数。所以需要用 js 以对象的形式来模拟 DOM 节点,那么经过 js 的计算,只照着最后的结果去操作 DOM 渲染到页面即可。而这个数据结构就是虚拟节点 VNode。 阅读全文 »
16.关于setState、setData后数值不及时更新的问题 发表于 2020-11-22 更新于 2023-09-21 Valine: 本文字数: 548 阅读时长 ≈ 1 分钟 问题背景在开始写 setState 的时候,都会有这个疑问。为什么我已经对 state 的数值赋值了,可是我接下来去用这个值的时候,却不是刚刚赋值过的数据。其实原因很简单。 Because, setState is asynchronously. 阅读全文 »
15.flex布局下文字超出宽度后省略号不起作用解决方法 发表于 2020-08-21 更新于 2023-09-21 Valine: 本文字数: 1.6k 阅读时长 ≈ 1 分钟 需求情况在项目开发过程中,曾经遇到过这样一个样式需求。在一行中,分为三个部分。左右部分固定宽度,中间部分适配机型宽度,如果中间的文字超出宽度则以省略号显示。 当时没有觉得很复杂,结果在实现的时候,兜兜转转踩了好多坑,其实这个应该算是比较常见的样式吧,决定把他记录下来,防止以后忘记。 阅读全文 »
14.关于useState的函数式更新 发表于 2020-08-21 更新于 2023-09-21 Valine: 本文字数: 2.2k 阅读时长 ≈ 2 分钟 关于 useStateuseState 可谓是在 Taro 的开发过程中最常用的一个 hook。由于函数式组件每次渲染都会执行一次函数,他的作用就是在函数内保存一个变量,并且这个变量能够保存的住。可以通过对应 setXXX 函数来对这个变量进行修改。那么如果变量是一个对象或者一个数组,我只想修改其中一个元素的时候,很容易因为闭包的情况误伤其他元素。这个时候我们可以用到 useState 函数式更新。 阅读全文 »
13.在循环中key值的作用是什么 发表于 2020-08-21 更新于 2023-09-21 Valine: 本文字数: 1.1k 阅读时长 ≈ 1 分钟 问题背景在日常开发过程中,当使用循环渲染的时候就一定要为循环项设置 key 属性,那么为什么循环项就一定要有 key 呢?如果 key 直接用 index 或者 random 赋值会有什么问题呢? 阅读全文 »
12.关于小程序开发的一些杂谈 发表于 2020-08-01 更新于 2023-09-21 Valine: 本文字数: 4.7k 阅读时长 ≈ 4 分钟 书写背景从接触到开发小程序,也有一段时间了。想新建一个帖子,借此总结复盘一下自己踩过的坑,和含泪背锅的经历。 阅读全文 »
11.在项目中适配模式的使用 发表于 2020-07-13 更新于 2023-09-21 Valine: 本文字数: 2.2k 阅读时长 ≈ 2 分钟 使用背景项目最近在用Taro重构,在书写代码方面要求比较严格,正好在跟老大调侃,他偶尔看到我一筐switch…case…给我指了指,让我改用适配模式做一做。本来项目任务都已经很紧了,突然代码实现业务方式的改变,让我有点猝不及防。说实话本来是有点抗拒的,毕竟已经写了很多了,不过后来琢磨了一下,产品的逻辑着实是乱的一批,现在多写点代码,为了以后增改逻辑的时候,能少点坑,看样子用上适配模式,也不失为一个好办法。 阅读全文 »
10.关于小程序中安卓与iOS的兼容适配坑 发表于 2020-07-10 更新于 2023-09-21 Valine: 本文字数: 2.1k 阅读时长 ≈ 2 分钟 小程序兼容适配机型适配,安卓与 iOS 系统的兼容,是做前端永恒不变的话题。现在随着终端设备的五花八门,系统繁杂,尺寸比各式各样,导致前端的适配工作就是一个永远也填不完的神坑。随即新建了这个文章,用来记录一下自己踩过的兼容适配坑。 阅读全文 »
9.关于Taro中常用Hook的用法 发表于 2020-07-09 更新于 2023-09-21 Valine: 本文字数: 1.6k 阅读时长 ≈ 1 分钟 关于 HookHook 这个特性,是 React16.8 中新增的,随着小程序框架 Taro 对 React 的支持,让 Taro 也能开始使用,甚至在 Taro3.0.0 开始,在底层 api 做了代理,让 Hook 方法直接可以从 React 包中引用。值得注意的是,Hook 的方法,只能在函数组件的主体内部调用。 阅读全文 »
8.解决Taro里面滚动穿透的问题 发表于 2020-07-05 更新于 2023-09-21 Valine: 本文字数: 1.1k 阅读时长 ≈ 1 分钟 问题起因最近的项目在用Taro重构代码,接到个令人头秃的交互,通过拖拽栏目来改变排序顺序。好在小程序和Taro框架,已经封装了MovableArea和MovableView这俩标签,能降低点难度。不过还是需要通过计算来定位位置,让我这个学酥瑟瑟发抖。 结果实现到最后的时候,遇到了个大坑,就是滚动穿透的问题。效果就是,当这边拖拽着栏目的时候,结果页面也跟着一起滚动。也是醉了。 阅读全文 »