أحمد عبد الله2 نشر 27 يونيو 2021 أرسل تقرير نشر 27 يونيو 2021 التطبيق يطلب منى clean up ل useEffect كيف افعلها ؟؟ هذا هو الكود const [modalVisiable, setModalVisiable] = useState(false); const [selectedType, setSelectedType] = useState("نوع المخالفة"); const [location, setLocation] = useState(initLocation); const [errorMsg, setErrorMsg] = useState(null); // const [startCamera, setStartCamera] = useState(false); const [capturedImage, setCapturedImage] = useState(null); const [waitMessage, setWaitMessage] = useState(""); const __takePicture = async () => { if (!camera) return; setWaitMessage("انتظر قليلا حتى يتم تحويلك"); const photo = await camera.takePictureAsync(); console.log(photo); setCapturedImage(photo); console.log(capturedImage); setStartCamera(false); setWaitMessage(""); }; let camera = Camera; useEffect(() => { (async () => { let { status } = await Location.requestForegroundPermissionsAsync(); if (status !== "granted") { setErrorMsg("يجب عليك ان توافق على التصريح"); return; } let location = await Location.getCurrentPositionAsync({}); setLocation(location); })(); }, []); 1 اقتباس
0 عبدالله عبدالرحمن11 نشر 27 يونيو 2021 أرسل تقرير نشر 27 يونيو 2021 دالة التنظيف clean هي دالة تقوم بوضعها في إرجاع دالة useEffect لكي تقوم بإزالة بيانات سابقة أو أحداث سابقة كما في هذا المثال useEffect(() => { API.subscribe() return function cleanup() { API.unsubscribe() } },[]) وهذا مثال آخر يوضح ذلك const Loading = () => { const [loadingStatus, setLoadingStatus] = useState("."); useEffect(() => {// إنشاء فترة وحفظ رقمها const intervalId = setInterval(() => { setLoadingStatus(ls => ls + "."); }, 1000); return () => clearInterval(intervalId);// إزالة الفترة التي أنشئناها من خلال دالة التنظيف }, []); return <p>{`Loading ${loadingStatus}`}</p>; }; اقتباس
السؤال
أحمد عبد الله2
التطبيق يطلب منى clean up ل useEffect كيف افعلها ؟؟
هذا هو الكود
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.