当前位置:首页 > React

react如何记

2026-03-30 17:48:54React

React 状态管理基础

React 提供了 useStateuseReducer 等钩子函数来管理组件的内部状态。useState 是最常用的方法,适用于简单状态:

import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0); // 初始化状态为0
  return (
    <button onClick={() => setCount(count + 1)}>
      Clicked {count} times
    </button>
  );
}

复杂状态逻辑处理

对于需要多个子状态或复杂逻辑的场景,useReducer 更合适:

import { useReducer } from 'react';

function reducer(state, action) {
  switch (action.type) {
    case 'increment':
      return { count: state.count + 1 };
    default:
      throw new Error();
  }
}

function Counter() {
  const [state, dispatch] = useReducer(reducer, { count: 0 });
  return (
    <button onClick={() => dispatch({ type: 'increment' })}>
      Count: {state.count}
    </button>
  );
}

全局状态管理方案

跨组件共享状态可使用 Context API 或第三方库(如 Redux、Zustand):

import { createContext, useContext } from 'react';

const CountContext = createContext();

function Parent() {
  const [count, setCount] = useState(0);
  return (
    <CountContext.Provider value={{ count, setCount }}>
      <Child />
    </CountContext.Provider>
  );
}

function Child() {
  const { count, setCount } = useContext(CountContext);
  return <button onClick={() => setCount(count + 1)}>{count}</button>;
}

性能优化注意事项

避免不必要的重新渲染:

react如何记

  • 使用 React.memo 包裹组件
  • 通过 useCallback 缓存函数
  • 使用 useMemo 缓存计算结果
const MemoizedComponent = React.memo(function MyComponent(props) {
  /* 仅在 props 变化时重新渲染 */
});

const cachedFn = useCallback(() => {
  // 函数逻辑
}, [dependencies]);

const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);

标签: react
分享给朋友:

相关文章

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…

react如何重置

react如何重置

重置 React 应用的状态 使用 useState 钩子重新初始化状态变量是最直接的方法。将状态变量重置为初始值或空值即可完成重置。 const [count, setCount] = useSt…

如何调试react

如何调试react

调试 React 应用的方法 使用 React Developer Tools 安装浏览器扩展(Chrome/Firefox),通过组件树查看组件状态、props 和 hooks。支持实时编辑 pro…

react如何debugger

react如何debugger

调试 React 应用的方法 使用浏览器开发者工具进行调试 React 开发者工具(React DevTools)是调试 React 应用的必备工具。安装 Chrome 或 Firefox 扩展后,可…

react如何代码优化

react如何代码优化

减少不必要的重新渲染 使用 React.memo 包装函数组件以避免在 props 未变化时重新渲染。对于类组件,可以通过 shouldComponentUpdate 或继承 PureComponen…

react如何筛选数据

react如何筛选数据

筛选数据的方法 在React中筛选数据通常涉及对数组的操作,结合状态管理和渲染逻辑。以下是几种常见的实现方式: 使用数组的filter方法 通过JavaScript数组的filter方法筛选数据,并…