react 进阶用法

React 进阶用法涵盖了许多更高级的概念和技巧,可以帮助你提升代码的可维护性、性能和开发效率。以下是一些重要的进阶用法:

1. Hooks 深入使用

1.1. useStateuseReducer
  • useState 用于组件的局部状态管理,适合管理简单的状态。
  • useReducer 是一个更适合管理复杂状态的 Hook,通常用于状态之间存在复杂关系或者需要更细粒度的更新操作时。
import React, { useReducer } from 'react';

const initialState = { count: 0 };

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

const Counter = () => {
  const [state, dispatch] = useReducer(reducer, initialState);
  
  return (
    <div>
      <p>Count: {state.count}</p>
      <button onClick={() => dispatch({ type: 'increment' })}>+</button>
      <button onClick={() => dispatch({ type: 'decrement' })}>-</button>
    </div>
  );
};
1.2. useEffect

useEffect 是 React 中用于处理副作用(side effects)的 Hook,通常用来执行 API 请求、设置订阅等操作。

import React, { useState, useEffect } from 'react';

const DataFetcher = () => {
  const [data, setData] = useState(null);
  
  useEffect(() => {
    fetch('https://api.example.com/data')
      .then(response => response.json())
      .then(data => setData(data));
  }, []); // 只在组件挂载时执行一次
  
  return <div>{data ? JSON.stringify(data) : 'Loading...'}</div>;
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奶凶的小熊崽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值