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

السؤال

نشر

اريد تعديل هذا الكود فى السطر 11 لكى يتناسب مع react navigation 5 

 

وهذه رسالة الخطأ التى تظهر عندما اضغط حفظ 

TypeError : undefined is not an object ( evaluating 'navigation.state.params') )


انا متاكد ان علاج هذا الخطأ يكمن فى تعديل ذالك السطر 

2.thumb.png.536bfa0a3ccc815a46076d5c2a21bb1c.png

 

 

 

هذه بعض الملفات الاخرى 

هذا الملف المرتبط ب نافيجيشن 4 

5f95b992c540c_4.thumb.png.251e38d71f28a0bc1bf17d56cdb57410.png

 

هذا الملف المرتبط ب نافيجيشن 5

5f95b99682cdb_5.thumb.png.56f947fde8abdbc2f6bf6a2933c55763.png

 

هذه رسالة التحذير ..

5f95b98faaf0f_.thumb.png.143cd0b220162d8055f531dca59566a6.png

 

وهذه رسالة الخطأ التى تظهر عندما اضغط حفظ 

TypeError : undefined is not an object ( evaluating 'navigation.state.params') )

 

Recommended Posts

  • 0
نشر
بتاريخ 7 دقائق مضت قال mohamedewias :

معني الخطئ 

TypeError : undefined is not an object ( evaluating 'navigation.state.params') )

ان navigation غير معرف داخل الدالة onSaveNote

يجب أن يكتب هكذا function onSaveNote(     navigation) {

للأسف لم تنفع .. اانا اريد ترقية الكود للنسخة الخامسة لاننى قرات فى الDOCS ان هذا السطر لم يعد يعمل 
navigation.state.params.addNote({ noteTitle, noteValue })

 

وانا اريد تعديله حتى يتماشى مع النسخة الخامسة 

  • 1
نشر

يمكنك الاطلاع على هذا المثال حتى تتعلم كيف نقوم بتمرير ال parameters إلى screen سابقة حيث أن الطريقة التي استخدمتها غير صالحة الآن.

حيث أننا أصبحنا نستخدم navigate بدلًا من ()goback.أيضًا يمكننا تمرير المعاملات باستخدام navigate 

function HomeScreen({ navigation, route }) {
  React.useEffect(() => {
    if (route.params?.post) {
      // Post updated, do something with `route.params.post`
      // For example, send the post to the server
    }
  }, [route.params?.post]);

  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Button
        title="Create post"
        onPress={() => navigation.navigate('CreatePost')}
      />
      <Text style={{ margin: 10 }}>Post: {route.params?.post}</Text>
    </View>
  );
}

function CreatePostScreen({ navigation, route }) {
  const [postText, setPostText] = React.useState('');

  return (
    <>
      <TextInput
        multiline
        placeholder="What's on your mind?"
        style={{ height: 200, padding: 10, backgroundColor: 'white' }}
        value={postText}
        onChangeText={setPostText}
      />
      <Button
        title="Done"
        onPress={() => {
          // Pass params back to home screen
          navigation.navigate('Home', { post: postText });
        }}
      />
    </>
  );
}

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...