У меня есть родительский компонент и дочерний компонент. Дочерний компонент будет отображаться через родительский элемент на основе условия. Таким образом, когда визуализируется дочерний элемент, выполняется весь useEffect и другой код, и я могу достичь методов componentDidMount. Я не имею прямого доступа к дочернему компоненту, но использую только Parent для его рендеринга на основе реквизита родителя После того, как мой дочерний компонент становится видимым, я вызываю метод, который сбрасывает prop и делает заново ParentComponent, и так как условие не выполняется, ChildComponent не отображается (не монтируется). Как только ChildComponent собирается размонтироваться, мне нужно кое-что сделать, но существующий useEffect, похоже, не вызывается. Как мне справиться с этим? Пожалуйста, помогите !!
Пожалуйста, дайте мне знать, если это неправильный подход, и я имею дело с рендерингом ребенка по-другому.
const ChildComponent: FunctionComponent<Props> = (props: Props) => {
useEffect(() => {
return () => {
// handle unmount
}
}, []);
return (
<div class='textDiv'>
This is content
</div>
)
}
const ParentComponent: FunctionComponent<ParentProps> = (props: ParentProps) => {
return (
<>
{doesChildExists &&
createPortal(<ChildComponent />, document.body)}
</>
)
}