LinkButton is designed to handle an
href. If the href is a path to a Flarum page (without domain, like
/settings), navigation will be performed inside of the single page app. If it's an external link, the page will navigate to the new url, this might be what you experience as a refresh. Or maybe adding an
onclick handler overrides the default behavior, causing the link to work like a plain HTML link.
If you want a button with an
onclick handler, I suggest you use a
You could also check whether your
button has a
type=button attribute. If it doesn't have it, clicking the button will submit a form as a POST request, causing a page refresh. https://html.com/attributes/button-type/ Normally buttons created through Flarum's components should have
type=button added automatically.