useMemo和useCall都可以用来包裹组件或者函数,使得他的父组件在更新的事后,如果useMemo或者useCallback的依赖项不变,就不需要创建新的函数,或者创建新的组件,减少组件更新时的性能开销useMemo如果没有依赖项,会在每一次组件更新的时候返回一个新的函数useCallback如果没有依赖项 ,组件每次重新渲染都会返回初始创建的函数