شرح صفوف ومحتوى الفقرة
لربط حقل نصي بنظافة، اجمع دائماً بين خاصيتين متلازمتين: value={text} لقراءة الحالة، وonChange={(e) => setText(e.target.value)} لتحديثها. في React ينطلق حدث onChange مع كل ضغطة مفتاح أو عملية لصق فوراً دون انتظار مغادرة الحقل.
أما إذا مررت value دون معالج تغيير، فستقفل المكتبة الحقل وتطبع تحذيراً لأن المستخدم عاجز عن تعديل القيمة المعروضة. وللحقول الثابتة المقصودة مرر readOnly صراحةً.
HTML
function CouponInput() {
const [code, setCode] = useState('SAVE20');
function handleChange(e) {
setCode(e.target.value.toUpperCase());
}
return (
<label>
Promo Code:
<input value={code} onChange={handleChange} />
</label>
);
}