Component

Trait Component 

Source
pub trait Component {
    type Props;

    // Required method
    fn render(props: Self::Props) -> Node;
}
Expand description

A trait for creating reusable components.

Components are the heart of RSX’s reusability model. They allow you to create custom elements with their own logic and state.

§Example

use simple_rsx::*;

struct Card;
#[derive(Default)]
struct CardProps {
    title: String,
    children: Vec<Node>,
}

impl Component for Card {
    type Props = CardProps;
    fn render(props: Self::Props) -> Node {
        rsx!(
            <div class="card">
                <h2>{props.title}</h2>
                <div class="card-content">{props.children}</div>
            </div>
        )
    }
}

Required Associated Types§

Source

type Props

The type of props this component accepts

Required Methods§

Source

fn render(props: Self::Props) -> Node

Renders the component with the given props

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Component for a

Source§

impl Component for address

Source§

impl Component for article

Source§

impl Component for aside

Source§

impl Component for audio

Source§

impl Component for base

Source§

impl Component for bdi

Source§

impl Component for bdo

Source§

impl Component for blockquote

Source§

impl Component for body

Source§

impl Component for br

Source§

impl Component for button

Source§

impl Component for canvas

Source§

impl Component for circle

Source§

impl Component for cite

Source§

impl Component for dd

Source§

impl Component for defs

Source§

impl Component for details

Source§

impl Component for dfn

Source§

impl Component for dialog

Source§

impl Component for div

Source§

impl Component for dl

Source§

impl Component for dt

Source§

impl Component for ellipse

Source§

impl Component for em

Source§

impl Component for figcaption

Source§

impl Component for figure

Source§

impl Component for foreignObject

Source§

impl Component for form

Source§

impl Component for g

Source§

impl Component for h1

Source§

impl Component for h2

Source§

impl Component for h3

Source§

impl Component for h4

Source§

impl Component for h5

Source§

impl Component for h6

Source§

impl Component for head

Source§

impl Component for header

Source§

impl Component for hr

Source§

impl Component for html

Source§

impl Component for i

Source§

impl Component for iframe

Source§

impl Component for img

Source§

impl Component for input

Source§

impl Component for kbd

Source§

impl Component for label

Source§

impl Component for legend

Source§

impl Component for li

Source§

impl Component for line

Source§

impl Component for linearGradient

Source§

impl Component for main

Source§

impl Component for mark

Source§

impl Component for mask

Source§

impl Component for meta

Source§

impl Component for meter

Source§

impl Component for nav

Source§

impl Component for noscript

Source§

impl Component for ol

Source§

impl Component for optgroup

Source§

impl Component for option

Source§

impl Component for output

Source§

impl Component for p

Source§

impl Component for path

Source§

impl Component for polygon

Source§

impl Component for polyline

Source§

impl Component for progress

Source§

impl Component for q

Source§

impl Component for radialGradient

Source§

impl Component for rect

Source§

impl Component for rp

Source§

impl Component for rt

Source§

impl Component for ruby

Source§

impl Component for s

Source§

impl Component for samp

Source§

impl Component for script

Source§

impl Component for section

Source§

impl Component for select

Source§

impl Component for small

Source§

impl Component for source

Source§

impl Component for span

Source§

impl Component for stop

Source§

impl Component for strong

Source§

impl Component for style

Source§

impl Component for sub

Source§

impl Component for summary

Source§

impl Component for sup

Source§

impl Component for svg

Source§

impl Component for table

Source§

impl Component for tbody

Source§

impl Component for td

Source§

impl Component for template

Source§

impl Component for textarea

Source§

impl Component for tfoot

Source§

impl Component for th

Source§

impl Component for thead

Source§

impl Component for time

Source§

impl Component for title

Source§

impl Component for tr

Source§

impl Component for u

Source§

impl Component for ul

Source§

impl Component for use

Source§

impl Component for var

Source§

impl Component for video

Source§

impl Component for wbr