1pub trait RenderIntoDom {
2 fn render_into_dom(self, dom_element: &web_sys::Element);
3}
4
5impl<E: crate::IntoElement> RenderIntoDom for E {
6 #[inline]
7 fn render_into_dom(self, dom_element: &web_sys::Element) {
8 let el = self.into_element();
9 let el = el.unsafe_into_js_element();
10 react_sys::react_dom::render(&el, dom_element);
11 }
14}
15
16pub fn render_into_dom_by_id<E: RenderIntoDom>(frender_element: E, dom_element_id: &str) {
17 use wasm_bindgen::UnwrapThrowExt;
18 let window = web_sys::window().unwrap_throw();
19 let document = window.document().unwrap_throw();
20
21 let el = document
22 .get_element_by_id(dom_element_id)
23 .expect_throw("No element is found with getElementById");
24
25 frender_element.render_into_dom(&el);
26}