Console.log renvoie « non défini » lors de la tentative de mise à jour du statut avec les données récupérées
P粉925239921
P粉925239921 2023-09-21 09:52:52
0
1
437

Lorsque je reçois les données lors du rendu ou lorsque certaines dépendances changent, elles sont correctement mises à jour dans le magasin Redux, mais lorsque je console.log, il indique « non défini ».

Je développe un système de réservation et souhaite obtenir le nombre d'heures réservées à une date précise

/// 在组件渲染时获取数据并尝试使用console.log useEffect(() => { axios .get( `http://localhost/healthboyz/index.php/booked/${ formData.doctor_id }/${moment(formData.date).format('YYYY-MM-DD')}` ) .then((res) => setBookedHrs(res.data)) .then(() => console.log(bookedHrs)) .catch((e) => console.log(e));}, [formData.doctor_id, formData.date]);
/// Hours reducer const hoursReducerDefaultState: { bookedHrs: string[]; } = { bookedHrs: [], }; export const hoursReducer = ( state = hoursReducerDefaultState, action: { type: string; data: string[]; } ) => { switch (action.type) { case 'SET_BOOKED_HRS': return [...action.data]; default: return state; } };
P粉925239921
P粉925239921

répondre à tous (1)
P粉211273535

La question ici concerne en fait la façon dont l'état est défini dans Redux :

SupposonshoursReducer负责整个hoursReducerDefaultState, le code est le suivant :

type HoursReducer = { bookedHrs: string[]; }; const hoursReducerDefaultState: HoursReducer = { bookedHrs: [], };

Ensuite, vous devez configurer l'état Redux pour mettre à jour l'état que vous souhaitez mettre à jour :

export const hoursReducer = ( state = hoursReducerDefaultState, action: { type: string; data: string[]; } ) => { switch (action.type) { case 'SET_BOOKED_HRS': // 使用“spread”操作符包括先前的状态 return { ...state, bookedHrs: action.data } default: return state; } };

Remarque : je suppose également que vous souhaitez remplacer complètement la valeur debookedHrs.

    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!