I think a popular approach in remix for this is to use the Url as the "state". So the Button would redirect to a different route e.g. "/tabs/Romaji".
This would match a custom route "tabs.$selectedtab" an a nested Route where you could load the desired data based on the param passed to the function.
More info could be found here: https://remix.run/docs/en/1.14.3/file-conventions/route-files-v2#md-dynamic-segments
Remix