关于 react-hooks 一个可能跟性能有关的疑问

2020-05-30 10:28:55 +08:00
 cl903254852

最近从 class component 切换到 react hooks 写法.

比如下面这个例子:


function Demo(){
    const [count, setCount] = useState(0);
    
    useEffect(()=>{
    
    },[])
    
    const func_1 = () => { //... }
    const func_2 = () => { //... }
    const func_3 = () => { //... }
    // 这里还有 const 其他变量...
    
    return <div/>
}

我发现,只要状态改变,Demo 这个函数就会重新执行一次, 也就是说定义在 Demo 里的所有变量每次 render 时都会重新定义, 这样不会有性能问题吗?

而且 Demo 这个函数中返回了组件 jsx,它不就是 class component 里的 render 方法吗? 相当于我这些定义的变量是在 render 方法里定义的?

鄙人也是刚入手 react hooks , 望大家指点一二,Thanks♪(・ω・)ノ

3373 次点击
所在节点    程序员
21 条回复
royzxq
2020-05-30 22:00:29 +08:00
合理利用 useMemo useCallback

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/676892

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX