useState
就是因为在函数式组件中无法使用this,就无法使用state,才出现了useState
useEffect
就是因为在函数式组件中无法使用this,就无法使用state,才出现了useEffect
如果想执行只运行一次的 effect(仅在组件挂载和卸载时执行),可以传递一个空数组([])作为第二个参数。这就告诉 React 你的 effect 不依赖于 props 或 state 中的任何值,所以它永远都不需要重复执行。这并不属于特殊情况 —— 它依然遵循输入数组的工作方式。
useCallback
就是可以返回一个回调函数,当你调用memoizedCallback时,就会触发内部的函数执行,且当a,b变化时,回调函数就会更新,但是记住并不会执行,只有调用memoizedCallback时才会执行;
依赖项数组不会作为参数传给回调函数。虽然从概念上来说它表现为:所有回调函数中引用的值都应该出现在依赖项数组中。未来编译器会更加智能,届时自动创建数组将成为可能。