Theme
Primary Color

تنظيم تحديثات الحالة بإستخدام useReducer

ال useReducer بتجمع قواعد التحديث في دالة بتستقبل الحالة والحدث

المثال داخل مشروع React يدعم JSX و Hooks

تطبيق الفكرة

ال Reducer بترجع الحالة الجديدة من غير تعديل القديمة

ملف App.jsx

import { useReducer } from "react";
function reducer(state, action) {
  if (action.type === "increase") return state + 1;
  if (action.type === "reset") return 0;
  return state;
}
export default function App() {
  const [count, dispatch] = useReducer(reducer, 0);
  return <><p>{count}</p><button onClick={() => dispatch({ type: "increase" })}>Increase</button><button onClick={() => dispatch({ type: "reset" })}>Reset</button></>;
}

النتيجة

زر الزيادة بيحدث العداد وزر Reset بيرجعه لصفر

reactjs شرح