pub trait Component {
type Props: Props;
type ElementType: AsNullableElement;
fn use_render(self) -> Self::ElementType;
fn new_with_props(props: Self::Props) -> Self
where
Self: Sized;
fn call_create_element(self, key: Option<JsValue>) -> Element
where
Self: Sized;
}