Public
Edited
Feb 12, 2023
2 stars
Insert cell
Insert cell
r = require.alias({
react: 'react@16/umd/react.development.js',
'react-dom': 'react-dom@16/umd/react-dom.development.js'
})
Insert cell
React = r('react')
Insert cell
ReactDOM = r('react-dom')
Insert cell
count = 1
Insert cell
{
window.React = React
window.ReactDOM = ReactDOM
window.count = count
}
Insert cell
html`<div id="counter" />`
Insert cell
pyodide.runPython(`from js import document, React, ReactDOM, count

def handle_click(event):
global count
count += 1
ReactDOM.render(
counter(),
document.getElementById('counter')
)
def counter():
return React.createElement(
'button',
{'onClick': handle_click},
str(int(count))
)

ReactDOM.render(
counter(),
document.getElementById('counter')
)`)
Insert cell
import { py, pyodide } from '@gnestor/pyodide'
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more