Link

Link is the text-style action widget.
Use it when the interaction should read like inline navigation or a secondary action rather than a full button. Good examples are "Learn more", "Open settings", and contextual route changes inside help text or compact panels.

Example

use fission::prelude::*;

let widget: Widget = Link {
    text: "Open billing settings".into(),
    on_click: Some(open_billing_settings_action),
}
.into();

Field table

Field
Type
Meaning
Notes / default behavior
text
String
Visible link label.
Required.
on_click
Option<ActionEnvelope>
Action fired when the link is pressed.
Defaults to None.
The checked-in widget is built from a ghost Button plus underlined text. That means it behaves like an explicit action inside Fission's state loop, not like a browser-native anchor tag with an href.
In practice that is often what you want: the action can navigate within your app, open a settings view, or ask the reducer to emit an OPEN_URL capability. Just remember that the widget itself does not know about URLs.

Specific advice

Use link styling for low-emphasis actions. If the choice is primary, destructive, or touch-critical, a real button is usually clearer and more accessible.

Production checklist

For Link, review the fields that change behavior before treating the widget as finished: text, on_click. The goal is to make the product rule visible in state and actions, not hidden inside ad-hoc construction code.
•
Bind on_click to explicit reducer actions and test that the reducer handles unavailable, duplicate, or invalid input safely.
•
Check the semantics tree for the user-facing label or role that makes this widget understandable without relying only on pixels.
•
Add at least one component or harness test that confirms the visible text, semantic role, action dispatch, and layout constraint that matter for this widget in context.
If a screen starts repeating the same Link setup, extract a named component around this widget. That keeps the reference API small while making product code easier to read and safer for generated code to copy.
Previous
Kbd