اذهب إلى المحتوى

السؤال

نشر

لدي مشكلة في التعامل مع input في react

import React, { useState, useEffect } from 'react';

export default function Login() {
  const [name, setName] = useState();
  useEffect(() => {
    console.log(name);
  }, []);

  return (
    <div>
      <input type="text" value={name} onChange={(e) => setName(e.target.value)} />
    </div>
  );
}

يحدث معي هذا الخطا 

warning:A component is changing an uncontrolled input of type undefined

Recommended Posts

  • 1
نشر

في react هنا نوعين من ال input نوع يتحكم فيه المتصفح ويسمى uncontrolled ونوع تتحكم فيه انت يدويا عن طريق الكود الذي تكتبه وهذا يسمى controlled ولا يمكننا استخدام الحالتين معا وفي حالتك انت تحاول استخدامهم معا حيث انه المكون كان يتوقع منك ان تعطي قيمة اولية لل input لكن عوضا عن ذلك انت تعطيه قيمة ال name وهو undefined في حالتك ويمكنك اصلاح هذا فقط باعطاء قيمة اولية ل name و string فارغ يكفي ليجعلك تتحكم في ال input

import React, { useState, useEffect } from 'react';

export default function Login() {
  const [name, setName] = useState("");
  useEffect(() => {
    console.log(name);
  }, []);

  return (
    <div>
      <input type="text" value={name} onChange={(e) => setName(e.target.value)} />
    </div>
  );
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...