प्रतिक्रिया ट्यूटोरियल

रिएक्ट होम प्रतिक्रिया परिचय प्रतिक्रिया आरंभ करें प्रतिक्रिया ES6 रिएक्ट रेंडर एचटीएमएल प्रतिक्रिया JSX प्रतिक्रिया घटक प्रतिक्रिया वर्ग प्रतिक्रिया सहारा प्रतिक्रिया घटनाक्रम प्रतिक्रिया सशर्त प्रतिक्रिया सूचियाँ प्रतिक्रिया प्रपत्र प्रतिक्रिया राउटर प्रतिक्रिया ज्ञापन प्रतिक्रिया सीएसएस स्टाइलिंग प्रतिक्रिया सास स्टाइलिंग

प्रतिक्रिया हुक

एक हुक क्या है? राज्य का उपयोग करें उपयोग प्रभाव उपयोग प्रसंग उपयोग रेफरी रेड्यूसर का उपयोग करें कॉलबैक का उपयोग करें मेमो का उपयोग करें कस्टम हुक

प्रतिक्रिया अभ्यास

प्रतिक्रिया प्रश्नोत्तरी प्रतिक्रिया अभ्यास प्रतिक्रिया प्रमाण पत्र

प्रतिक्रिया useReducerहुक


हुक हुक के useReducerसमान है useState

यह कस्टम राज्य तर्क के लिए अनुमति देता है।

यदि आप जटिल तर्क पर भरोसा करने वाले राज्य के कई टुकड़ों पर नज़र रखते हैं, useReducerतो यह उपयोगी हो सकता है।


वाक्य - विन्यास

useReducer Hook दो तर्कों को स्वीकार करता है।

useReducer(<reducer>, <initialState>)

reducerफ़ंक्शन में आपका कस्टम स्टेट लॉजिक होता है और यह एक initialStateसाधारण मान हो सकता है लेकिन आम तौर पर इसमें एक ऑब्जेक्ट होता है।

useReducerहुक वर्तमान stateऔर एक dispatchविधि देता है

useReducerकाउंटर ऐप में इसका एक उदाहरण यहां दिया गया है:

उदाहरण:

import { useReducer } from "react";
import ReactDOM from "react-dom";

const initialTodos = [
  {
    id: 1,
    title: "Todo 1",
    complete: false,
  },
  {
    id: 2,
    title: "Todo 2",
    complete: false,
  },
];

const reducer = (state, action) => {
  switch (action.type) {
    case "COMPLETE":
      return state.map((todo) => {
        if (todo.id === action.id) {
          return { ...todo, complete: !todo.complete };
        } else {
          return todo;
        }
      });
    default:
      return state;
  }
};

function Todos() {
  const [todos, dispatch] = useReducer(reducer, initialTodos);

  const handleComplete = (todo) => {
    dispatch({ type: "COMPLETE", id: todo.id });
  };

  return (
    <>
      {todos.map((todo) => (
        <div key={todo.id}>
          <label>
            <input
              type="checkbox"
              checked={todo.complete}
              onChange={() => handleComplete(todo)}
            />
            {todo.title}
          </label>
        </div>
      ))}
    </>
  );
}

ReactDOM.render(<Todos />, document.getElementById('root'));


टूडू पूर्ण स्थिति का ट्रैक रखने के लिए यह सिर्फ तर्क है।

एक टूडू को जोड़ने, हटाने और पूरा करने के सभी तर्क useReducerअधिक क्रियाओं को जोड़कर एक ही हुक में समाहित किए जा सकते हैं।