दोन्ही असे डेटा ठेवतात जे कंपोनेंट काय रेंडर करते हे प्रभावित करते, परंतु ते डेटाचा मालिक कोण आहे आणि हे बदलू शकते का यात भिन्न आहेत.
- त्याच्या पॅरंट कंपोनेंटमधून कंपोनेंटमध्ये पास केले जातात. ते आहेत — कंपोनेंट कधीही त्यांना संपादित करू शकत नाही.
दोन्ही असे डेटा ठेवतात जे कंपोनेंट काय रेंडर करते हे प्रभावित करते, परंतु ते डेटाचा मालिक कोण आहे आणि हे बदलू शकते का यात भिन्न आहेत.
// `step` is a PROP — given by the parent, the child only reads it.
// `count` is STATE — owned here, changes on click, causes a re-render.
function Counter({ step }) {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + step)}>
{count}
</button>
);
}
// Parent decides the step and passes it down:
<Counter step={5} />
डेटा खाली वाहतो (पॅरंट → चाइल्ड props द्वारे) आणि बदल वर वाहतात (चाइल्ड पॅरंटला काहीतरी बदलण्यासाठी विनंती करते callback prop द्वारे जसे onChange). ही एकमार्गी प्रवाह हीच गोष्ट आहे जी React अॅप्स अंदाजित करणीय बनवते.
props.x = 1) एक बग आहे — React पुन: रेंडर होणार नाही आणि तुम्ही पॅरंटचे मालिकी तोडले आहे. "prop बदलण्यासाठी", पॅरंटने दिलेले callback कॉल करा जेणेकरून पॅरंट आपली स्टेट अपडेट करीत नवीन मूल्य खाली पास करीत.सविस्तर उत्तरांसह IT मुलाखत प्रश्नांचे ग्रंथालय — Junior पासून Senior पर्यंत.
देणगी द्या