Using react components
#1095
-
import { createElement } from 'npm:react';
import { createRoot } from 'npm:react-dom/client';
import { MultiSelect } from 'npm:@mantine/core';
display(createRoot) Displays |
Beta Was this translation helpful? Give feedback.
Answered by
c6p
Mar 19, 2024
Replies: 1 comment 4 replies
-
Updated. Define <link rel="stylesheet" href="npm:@mantine/core/styles.css" />
<div id="root"></div>
Selected values: ${selected.join(', ')} I've found out easiest way to manage state via import {Mutable} from "npm:@observablehq/stdlib";
function useState(value) {
const state = Mutable(value)
const setState = (value) => state.value = value;
return [state, setState]
}
const [selected, setSelected] = useState(["react"]) I misunderstood how observable renders the page. It was enough to just import them as you would in node. import {createElement} from 'npm:react';
import {createRoot} from 'npm:react-dom';
import { MultiSelect, MantineProvider } from 'npm:@mantine/core';
const root = createRoot(document.getElementById('root'));
root.render(
createElement(MantineProvider, {},
createElement(MultiSelect, {
label: "your favorite libraries",
placeholder: "pick value",
data: ['react', 'angular', 'vue', 'svelte'],
value: selected,
clearable: true,
searchable: true,
onChange: setSelected
})
)
) |
Beta Was this translation helpful? Give feedback.
4 replies
Answer selected by
c6p
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Updated.
Define
root
div to mount our component. Note:selected
is reactive. Yay!I've found out easiest way to manage state via
Mutable
. Here we define a reusableuseState
hook as in react.I misunderstood how observable renders the page. It was enough to just import them as you would in node.
Since JSX is not supported, use
cre…