MPU6050 Gyro value going back to initial value irrespective of Angle

I think

rotX = rotX + prevRotX * dt;

is wrong, since rotX is Current Angular Velocity and prevRotX is previous Angle (I'm terrible at naming variables).

We need to multiply current Angular velocity by time to get the angle difference and add it to the previous angle so

the correct one (I think )

rotX = prevRotX  + rotX * dt;

But iam getting too much drift. like with in a minute the angle is crossing 360.
is it normal ?