React
以下是 React 提供的一些常见的 Hooks。请注意,React 生态系统可能会有新的更新,因此建议查阅React 官方文档以获取最新信息。
useState:
- 用于在函数组件中添加状态。它返回一个状态变量和一个更新函数,可以通过更新函数来改变状态。
const [state, setState] = useState(initialState);
useEffect:
- 用于在组件渲染后执行副作用操作,例如数据获取、DOM 操作等。类似于类组件的生命周期方法
componentDidMount
、componentDidUpdate
和componentWillUnmount
。
useEffect(() => { // Effect code return () => { // Cleanup code (optional) }; }, [dependencies]);
- 用于在组件渲染后执行副作用操作,例如数据获取、DOM 操作等。类似于类组件的生命周期方法
useContext:
- 用于在函数组件中访问 React 上下文。
const contextValue = useContext(MyContext);
useReducer:
- 用于在组件中管理复杂的状态逻辑。它返回当前状态和一个 dispatch 函数,通过 dispatch 函数可以发送 action 来更新状态。
const [state, dispatch] = useReducer(reducer, initialState);
useCallback:
- 用于缓存回调函数,避免在每次渲染时都创建新的回调函数。
const memoizedCallback = useCallback(() => { // Callback code }, [dependencies]);
useMemo:
- 用于缓存计算结果,避免在每次渲染时都重新计算。
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
useRef:
- 创建一个可变的 ref 对象,该对象的
current
属性可以保存任意可变值。
const myRef = useRef(initialValue);
- 创建一个可变的 ref 对象,该对象的
useImperativeHandle:
- 用于在父组件中自定义暴露给子组件的实例值。
useImperativeHandle(ref, () => ({ // Custom methods or properties }), [dependencies]);
这些 Hooks 使得在函数组件中可以更方便地处理状态、副作用、上下文等方面的逻辑,而无需使用类组件。请注意,Hooks 的使用可能随着 React 的版本更新而有所变化,因此查阅最新的官方文档是获取最准确信息的方法。