rsnext/examples/with-webassembly/pages/index.js

27 lines
673 B
JavaScript
Raw Normal View History

import { withRouter } from 'next/router'
2018-09-17 21:48:06 +02:00
import dynamic from 'next/dynamic'
import Link from 'next/link'
const RustComponent = dynamic({
loader: async () => {
// Import the wasm module
const rustModule = await import('../add.wasm')
// Return a React component that calls the add_one method on the wasm module
return props => <div>{rustModule.add_one(props.number)}</div>
2018-09-17 21:48:06 +02:00
}
})
const Page = ({ router: { query } }) => {
2018-09-17 21:48:06 +02:00
const number = parseInt(query.number || 30)
return (
<div>
<RustComponent number={number} />
<Link href={`/?number=${number + 1}`}>
<a>+</a>
</Link>
</div>
)
2018-09-17 21:48:06 +02:00
}
export default withRouter(Page)