V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  funnyecho  ›  全部回复第 2 页 / 共 5 页
回复总数  99
1  2  3  4  5  
2020-11-30 19:07:55 +08:00
回复了 weimo383 创建的主题 React 如何用 react hooks 封装一个鼠标绘图组件?
@weimo383 看代码就几个状态,每次 mousedown 都会重置,保存在 draw 函数内部的作用域就好了呀。
2020-11-30 14:43:20 +08:00
回复了 weimo383 创建的主题 React 如何用 react hooks 封装一个鼠标绘图组件?
@weimo383

把第一段代码封装成函数:
```
// 函数接受一个 canvas element,并返回 destructor 函数用来 removeListener
type draw = ($canvas) => (() => void)
```

然后,React.FC 中调用 draw 方法,举个例子:
```
useEffect(() => {

return draw(canvasRef.current)
}, [canvasRef.current])
```
2020-11-30 10:23:59 +08:00
回复了 weimo383 创建的主题 React 如何用 react hooks 封装一个鼠标绘图组件?
个人看法,这里用 react hook ( useState )其实没有什么意义,你第一段代码都自成一体了,直接使用事件驱动来的更快,不需要额外等待 react setState 的调度。

与其说使用 hook,不如把第一段代码封装成一个纯函数,接受一个 ref 来处理绘图,在外部 FC 中调用这个函数来的更好。
2020-11-30 10:16:46 +08:00
回复了 chenliangngng 创建的主题 React 请教一下 react 的 tsx 怎么写类型定义?
可以参考 @types 中的定义: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/4a1e6b12938de49594f8eba59ad1b1f19d6478c4/types/react/index.d.ts#L237

React.Element 可以看作是 React 组件的基类型。

我自己实际使用中,很少会用 React.Element 。

如果定义 functional component,就用 React.FC<T>。

React.Node 用于外部组件的输入(比如 props ),因为 React.Node 个人感觉类似与 any 的组件类型,它几乎包含了 React 所支持的所有组件类型:
type ReactNode = ReactElement | ReactNodeArray | string | text | boolean | null | undefined;
2020-11-17 14:18:49 +08:00
回复了 liumingyi1 创建的主题 React React Hooks 性能优化的正确姿势
@nullEDYT usePersistFn() 返回的函数永远是同一个高阶函数(也就是同一个对象,通过 useRef.current 来保证 render 时的引用一致)
2020-11-09 09:58:44 +08:00
回复了 manami 创建的主题 美酒与美食 做饭苦手的入门菜记录——清蒸排骨
而且,最好让摊主砍小块点
2020-11-09 09:57:39 +08:00
回复了 manami 创建的主题 美酒与美食 做饭苦手的入门菜记录——清蒸排骨
蒸排骨,腌久一点点,水开大火蒸七八分钟就好了
2020-11-06 10:51:20 +08:00
回复了 yazoox 创建的主题 React react useEffect 里面的计数器,如何在达到指定数字后,停止下来?
不用 setInterval,用 setTimeout + useEffect 就好

useEffect(() => {
if (count <= 0) return

const id = setTimeout(() => {
setCount((c) => c - 1);
}, 1000);

return () => clearInterval(id);
}, [count]);
2020-10-22 12:26:22 +08:00
回复了 redeyesovo 创建的主题 美酒与美食 原来毛豆是黄豆的未成熟体
前段时间煮了一两次毛豆吃,感觉不好消化,吃完肚子涨涨的~~
2020-09-23 16:49:03 +08:00
回复了 mashaofeixxx 创建的主题 推广 NUC 黑果套餐 国庆专车 福利帖
万一中了呢
2017-06-01 08:51:23 +08:00
回复了 yantianqi 创建的主题 程序员 vue 渲染原理是什么?
门道也不复杂。

我简单的理解是:

Vue 做 diff 是基于 vnode tree 而不是真是的 dom 节点,diff 结果再 patch 到 dom 节点上。

而每个节点在 mount 到 document 前都已经被 vnode.elm 引用了,所以,即使你删掉 dom 节点,该对象还是在 js 内存中,所以,往后的 diff patch 都会作用到这个只存在与内存中的 node 对象而不会反映到真实的 dom tree 中了。
2017-06-01 08:38:10 +08:00
回复了 t123yh 创建的主题 JavaScript ECMAScript 的 async 函数可以返回一个 Promise 作为结果吗?
async 的 return 应该跟 Promise.resolve() 是一个道理吧,所以你 style 1 返回的 promise 也被展开了。
2017-03-26 11:31:17 +08:00
回复了 leqiang222 创建的主题 职场话题 后台不鸟你怎么办?
一般直接 review 后台代码~~~
2017-03-06 00:37:32 +08:00
回复了 kobe1941 创建的主题 酷工作 [广州] 阿里移动事业群+社招+内推
简历已发到邮箱了,先多谢了哈: [email protected]
楼主还招人吗?不是大牛也想试下😀😀😀
2017-02-22 21:00:46 +08:00
回复了 kobe1941 创建的主题 酷工作 [广州] 阿里移动事业群+社招+内推
想问下,现在还招前端吗?
在广州太好了。。。虽然后端不熟,不过还是想试下在线测试~~~
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   930 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 21:45 · PVG 05:45 · LAX 13:45 · JFK 16:45
Developed with CodeLauncher
♥ Do have faith in what you're doing.