把useMemo()赋值给一个变量,提示该变量不是函数

自己网上找个useMemo的例子

编译可以通过,但是运行会报错:TypeError: getNum is not a function
看了好久没发现错在哪里。。。求指点一下哈

import React, {useState, useMemo} from 'react';

function Example() {
    const [count, setCount] = useState(1);
    const [val, setValue] = useState('');
 
    const getNum = useMemo(() => {
        return count;
    
      }, [count])

    return (
    <div>
        <h4>总和:{getNum()}</h4>
        <div>
            <button onClick={() => setCount(count + 1)}>+1</button>
            <input value={val} onChange={event => setValue(event.target.value)}/>
        </div>
    </div>
    )
}

export default Example;
阅读 1.9k
1 个回答

直接把

<h4>总和:{getNum()}</h4>

换成

<h4>总和:{count}</h4>

不需要再写个getNum()函数获取


你要用useMemo()就把

<h4>总和:{getNum()}</h4>

换成

<h4>总和:{getNum}</h4>

不用加()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题