تنظيم تحديثات الحالة بإستخدام 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 بيرجعه لصفر