Размонтирование компонента при запуске через родительский компонент - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть родительский компонент и дочерний компонент. Дочерний компонент будет отображаться через родительский элемент на основе условия. Таким образом, когда визуализируется дочерний элемент, выполняется весь 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)}
          </>
      )
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...