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

السؤال

نشر

لدي الدالة Generator التالية، ولكن لا تعمل في الـ saga chain بشكل سليم...

export function* appOnLoad() {
  const {mode, theme} = all({
    mode: loadString('APP_MODE'),
    theme: loadString('APP_THEME'),
  });

  if (typeof mode === 'string' && checkKeyInObject(APP_MODE_URL, mode)) {
    yield put(onSetAppMode(mode as ModeType));
  }

  if (typeof theme === 'string' && checkKeyInObject(MyAppTheme, theme)) {
    yield put(onSetAppTheme(theme as ThemeType));
  }

  yield put(onLoadAppEnd());
}

 

Recommended Posts

  • 0
نشر

في الـ Generator Functions، أي expression على يمين yield يتم حسابه ثم يتم تسليم النتيجة للمتصل. في السطر الثاني، سيقوم التأثير all بحساب حالة الـ mode والـ theme، ولكن يجب استخدام yield قبلها هكذا:

export function* appOnLoad() {
	const { mode, theme } = yield all({ ... });
}

يمكنك التفكير في التأثيرات كتعليمات للـ middleware لإجراء بعض العمليات (مثلاً، عمل dispatch asynchronous).

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...