يوجد لدى مشكلة فى كتابة التاريخ بصيغة صحيحة

السلام عليكم تحية طيبة للجميع اعمل على تطبيق react native expo

يوجد لدى حقل ادخال التاريخ يقوم المستخدم بالنشر. المشكلة انى لريد تحديث التاريخ فى كل مرة يقوم المستخدم باادخال بيانات طبعا التاريخ يتم تحديثة فى حالة خروج المستخدم او عمل ريفرش للتطبيق

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

تستطيع استخدام طريقة onChange على حقل إدخال التاريخ، حيث ستؤدي تلك الطريقة إلى استدعاء الدالة التي تم تعيينها لها كلما قام المستخدم بتغيير قيمة الحقل.

وفي تلك الدالة، استخدم طريقة Date.now() للحصول على التاريخ الحالي وضبط قيمة حقل الإدخال على ذلك التاريخ.

مثال:

import React, { useState } from "react";
import { StyleSheet, Text, View, TextInput } from "react-native";


const App = () => {
  const [date, setDate] = useState(new Date());


  const handleChange = (value) => {
    setDate(new Date());
  };


  return (
    <View style={styles.container}>
      <TextInput
        onChange={handleChange}
        value={date}
        placeholder="Enter date"
        style={styles.input}
      />
      <Text>{date}</Text>
    </View>
  );
};


const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center",
  },
  input: {
    width: 200,
    height: 40,
    borderColor: "black",
    borderWidth: 1,
    borderRadius: 5,
  },
});


export default App;


وهناك طريقة أخرى لتجديد التاريخ في كل مرة يقوم فيها المستخدم بإدخال بيانات، وذلك من خلال استخدام طريقة useEffect() لتشغيل الكود عند تغيير قيمة حقل الإدخال.

مثال:

import React, { useState, useEffect } from "react";
import { StyleSheet, Text, View, TextInput } from "react-native";


const App = () => {
  const [date, setDate] = useState(new Date());


  useEffect(() => {
    setDate(new Date());
  }, [date]);


  return (
    <View style={styles.container}>
      <TextInput
        value={date}
        placeholder="Enter date"
        style={styles.input}
      />
      <Text>{date}</Text>
    </View>
  );
};


const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center",
  },
  input: {
    width: 200,
    height: 40,
    borderColor: "black",
    borderWidth: 1,
    borderRadius: 5,
  },
});


export default App;


Abdelbaset_ibrahem أضف ردا

يمكنك استخدام useState لإنشاء متغير حالة يحتوي على التاريخ الحالي. ثم، قم بتحديث هذا المتغير في كل مرة يقوم المستخدم بإدخال بيانات. على سبيل المثال:

import React, { useState } from "react";
import { StyleSheet, Text, TextInput } from "react-native";

const App = () => {
  const [date, setDate] = useState(new Date());

  const handleChange = (event) => {
    const newDate = new Date(event.target.value);
    setDate(newDate);
  };

  return (
    <View>
      <TextInput
        onChange={handleChange}
        value={date.toLocaleDateString()}
      />
    </View>
  );
};
export default App;

في هذا المثال، يتم إنشاء متغير حالة يسمى date. هذا المتغير هو نوع Date ويحتوي على التاريخ الحالي.

ثم، يتم استخدام useState لإنشاء متغير حالة يسمى setDate. هذا المتغير هو نوع Function ويستخدم لتحديث قيمة متغير الحالة date.

في دالة handleChange()، يتم إنشاء تاريخ جديد بناءً على قيمة حقل الإدخال. ثم، يتم تحديث متغير الحالة date باستخدام الدالة setDate().