Context
The snackbar component uses the message: string prop to determine what to display and the isVisible: boolean prop to determine if it should be visible.
Some components that use the Snackbar component coupled these two props so that isVisible becomes false at the same time as message goes back to the default messaging. (like the AccessCodeTable used to)
isVisible switching from true to false triggers the hiding animation, if the message prop changes to the default message at the same time then the default message gets displayed for the duration of the hiding animation.
Potential solution
The snackbar does not need that many props imo, we could change message: string to message: string | null and get rid of the isVisible prop.
The parent component would simply set the message to whatever it wants to display then nullify it when it wants to hide it. The snackbar would keep its own messageToDisplay: string state that does not get updated when the given message prop is null
We would need to make sure that setting the message to null then to a non-null value in quick succession properly aborts the hiding animation
Context
The snackbar component uses the
message: stringprop to determine what to display and theisVisible: booleanprop to determine if it should be visible.Some components that use the Snackbar component coupled these two props so that
isVisiblebecomes false at the same time asmessagegoes back to the default messaging. (like the AccessCodeTable used to)isVisibleswitching from true to false triggers the hiding animation, if themessageprop changes to the default message at the same time then the default message gets displayed for the duration of the hiding animation.Potential solution
The snackbar does not need that many props imo, we could change
message: stringtomessage: string | nulland get rid of theisVisibleprop.The parent component would simply set the message to whatever it wants to display then nullify it when it wants to hide it. The snackbar would keep its own
messageToDisplay: stringstate that does not get updated when the givenmessageprop isnullWe would need to make sure that setting the message to null then to a non-null value in quick succession properly aborts the hiding animation