La fonction d'expédition n'a aucun effet après avoir appuyé sur le bouton
P粉410239819
P粉410239819 2023-09-16 18:45:51
0
1
433

C'est une fonction d'action utilisée avec redax (elle fonctionne parfaitement depuis que je l'utilise)

export const fetchCategory = () => {
  return async (dispatch) => {
    try {
      dispatch(settingsSlice.actions.settingsFetching());
      const response = await request("/category/getAll", "POST", {});
      dispatch(settingsSlice.actions.settingsFetchingSuccess(response));
    } catch (e) {
      dispatch(settingsSlice.actions.settingsFetchingError(e));
    }
  };
};

Lorsque le bouton est enfoncé, je dois faire une demande au serveur et mettre à jour le statut

C'est la fonction qui s'exécute lorsque vous cliquez sur le bouton :

const buttonHandler = async () => {
    await request("/category/create", "POST", {
      newCategory: {
        label: form.categoryLabel,
        limit: form.categoryLimit,
      },
    });
    setForm(initialState);
    fetchCategory();
  };

J'ai vérifié, le formulaire a été envoyé au backend et tout va bien sauf "fetchCategory"

J'ai essayé d'utiliser useEffect pour résoudre ce problème

useEffect(() => {
    fetchCategory();
  }, [Button , buttonHandler]);

J'ai essayé d'installer différentes dépendances mais sans résultat. Comment résoudre ce problème?

P粉410239819
P粉410239819

répondre à tous(1)
P粉704196697

Vous avez besoin dispatch de cette action !

Votre fetchCategory 函数是一个 "thunk action creator"。调用 fetchCategory() 会创建一个 thunk 动作,但不会对其执行任何操作。你需要调用 dispatch(fetchCategory()) pour effectuer cette action.

const buttonHandler = async () => {
    await request("/category/create", "POST", {
      newCategory: {
        label: form.categoryLabel,
        limit: form.categoryLimit,
      },
    });
    setForm(initialState);
--> dispatch(fetchCategory()); <--
};
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!