GetKey or GetKeyDown

I am having a problem, as you can see on the gif linked I did the first jump but the seconds just executed the animation, didn’t work at all. I do a raycast do check if it is grounded everytime I get the key down, but using GetKey instead or GetKeyDown fixed this bug, would it be a bad practice to make it getkey so it would make a raycast every update while pressing the key?
2945309--218095--ezgif.com-crop.gif

GetKeyDown works the first frame its down.

I recommend to keep using the GetKeyDown function but check if the player is grounded outside the GetKeyDown.

void Update()

If(Input.GetKeyDown(//YourButton && isGrounded)
{
   Do Jumping Stuff
}
if(!isGrounded)
{
   //Check if player is grounded.
   if(the player touches the ground)
   isGrounded = true
}

You’ll get the idea I hope