Add custom Rust WebAssembly hooks to React and SolidJS projects
// my-rust-code/src/lib.rs
#[wasm_bindgen]
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
import useRust from 'my-rust-code'
const Calculator = () => {
const { rust, error } = useRust()
return <div>1+1={rust?.add(1,1)}</div>
}
- Have an existing React or SolidJS project
npx userust init NAME
will compile and install a custom useRust hook to your project- Use it in your project:
import useRust from 'NAME'
- Make changes to
./NAME/src/lib.rs
npm run NAME:build
will recompile the useRust hook
Alternatively you can use npm run NAME:watch
to automatically recompile after changes to Rust code
Uses wasm-bindgen. See Rust code examples at its documentation page.
- Leverage Rust and Wasm to speed up critical parts of your frontend
- Fully typed TypeScript interface, works in JavaScript projects as well
- No limitations for Rust code, provides a minimal, properly configured boilerplate to start with
- Develop frontend and Rust code from the same monorepo with a few simple commands
- Tested on Linux, MacOS and Windows
- npm, pnpm and yarn supported
- Simple interface inspired by SWR library
The MIT License.