Я использую функциональный компонент, и мне нужно иметь возможность использовать componentDidMount ().В Интернете я обнаружил, что с помощью перехватчиков реагирования вы можете использовать useEffect () в качестве componentDidMount () в функциональных компонентах.Тем не менее, это не работает, как я думал, что будет.Я думал, что при загрузке страницы это будет срабатывать, но это не так.Кто-нибудь знает, как заставить useEffect действовать как componentDidMount?
const Contact = ({
previousProgressBarNow,
setPreviousStepValue,
addPropsToCallback,
hasSuggestions,
showSMSOptInCheckbox,
params,
sendEnhancedTrackEvent
}) => {
const enhanceableData = {
name: 'Item Clicked',
properties: {
...defaultProps,
activityLocation: 'Member - RAQ Contact Details - useEffect',
description: 'SMS Opt-In Checkbox',
autopopulated: true,
changeType: 'Add',
href: process.env.IS_BROWSER && typeof window !== 'undefined' ?
window.location.href : undefined
}
};
// This acts as componentDidMount
useEffect(() => {
return () => {
sendEnhancedTrackEvent(enhanceableData);
}
}, []);
Я пытался просто сделать это, но затем он создает бесконечные циклы, и я получаю ошибку:
useEffect(() => {
sendEnhancedTrackEvent(enhanceableData);
});
Ида я его импортировал:
import React, { useState, useEffect } from 'react';