Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
547 views
in Technique[技术] by (71.8m points)

把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;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

直接把

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

换成

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

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


你要用useMemo()就把

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

换成

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

不用加()


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...