A Simple and flexible playground for live editing React code
$ npm install live-reacto
# or via yarn
$ yarn add live-reacto
import { LiveProvider, LiveEditor, LivePreview } from 'live-reacto';
// import your favorite prismjs theme
import "prismjs/themes/prism-dark.css";
const codeTest = `function App() {
const [count, setCount] = React.useState(0);
const onCount = () => setCount(count + 1);
return <div>{count} <button onClick={onCount}>Click me</button></div>
}
render(<App />)`;
// External component
const Hello = () => <h1>Hello world</h1>
<LiveProvider
language="jsx"
code={codeTest}
readOnly={false}
onlyHighlight={false}
bindings={{ Hello }} //-> bind component
>
<LiveEditor onChange={setCode} />
<LivePreview onTransform={setTransform} />
</LiveProvider>
Prop |
Type |
Description |
language |
string |
Language to be hightlighted (default: jsx ) |
code |
string |
Some React code |
bindings |
Object |
Add an external component or library. |
onlyHighlight |
Boolean |
Disable LivePreview: works as Syntax highlighter. |
readOnly |
Boolean |
Disable editing on the LiveEditor (Default: false). |
Prop |
Type |
Description |
onChange |
method |
returns live coding |
style |
Object |
set css style for editor |
Prop |
Type |
Description |
onTransform |
method |
returns the code transpiled by Babel |
- prismjs
- react
- react-dom
- react-error-boundary
- react-simple-code-editor
- @babel/standalone
- All pull requests are welcome.
MIT