Skip to content

Commit 51485d6

Browse files
committed
feat: ReactDOM.render
1 parent e366326 commit 51485d6

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ mod use_state;
44

55
pub use element::*;
66
pub use use_state::*;
7+
8+
pub mod react_dom;

src/react_dom.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
use wasm_bindgen::prelude::*;
2+
3+
#[cfg(feature = "import-react")]
4+
macro_rules! wasm_bindgen_react_dom {
5+
($($b:item)+) => {
6+
#[wasm_bindgen]
7+
extern "C" {
8+
$($b)+
9+
}
10+
};
11+
}
12+
13+
#[cfg(not(feature = "import-react"))]
14+
macro_rules! wasm_bindgen_react_dom {
15+
($($b:item)+) => {
16+
#[wasm_bindgen(inline_js = r#"export * as ReactDOM from "react-dom";"#)]
17+
extern "C" {
18+
$($b)+
19+
}
20+
};
21+
}
22+
23+
wasm_bindgen_react_dom! {
24+
#[wasm_bindgen(js_namespace = ReactDOM)]
25+
fn render(react_element: &crate::Element, dom_element: &web_sys::Element);
26+
}

0 commit comments

Comments
 (0)