Canvas Text show up but dont dissapear.

Hello everyone I want to create a canvas text that will show up when player looking on a intractable object. I made a script for it, it shows up text but don’t hide it when player doesn’t looking on a intractable object.
Can some one please help me find where I made a mistake.
Here is a Script.

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class DoorRayCast : MonoBehaviour
{
    public GameObject ePressText;
    public float RayDistanse = 3f;
    private float PhoneRayDistance = 3f;
    private float CeilingDistance = 5f;
    public phoneAnimationScript myphoneAnimationScript;
    public phoneAnimationScript myCharacterAnimationScript;
    public RelocateScript Relocate;
    Camera CameraMain;
    
   public void Start()
    {
        CameraMain = GetComponent<Camera>();
        ePressText.SetActive(false);
    }
    public void Update()
    {        
        RaycastHit hit;
        Ray ray = GetComponent<Camera>().ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f));
        if (Physics.Raycast(ray, out hit, RayDistanse))
        {         
                if (hit.transform.tag == "DoorTag")
                {
                    ePressText.SetActive(true);
                    if (Input.GetButtonDown("actButton"))
                    {
                        hit.collider.GetComponent<DoorsActAnim>().DoorTrigger();
                    }
                }
                else
                {
                    ePressText.SetActive(false);
                }
            }
}

Thanks for your help.

How about an else when the raycast does not hit anything?