streamlit-component-lib-react-hooks
Version:
An npm package that provides support code for creating [Streamlit Components](https://docs.streamlit.io/en/stable/streamlit_components.html) with React and React Hooks.
28 lines (27 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useNullableRenderData = void 0;
const react_1 = require("react");
const streamlit_component_lib_1 = require("streamlit-component-lib");
/**
* Returns `RenderData` received from Streamlit after the first render event received.
*/
const useNullableRenderData = () => {
const [renderData, setRenderData] = (0, react_1.useState)();
(0, react_1.useEffect)(() => {
const onRenderEvent = (event) => {
const renderEvent = event;
setRenderData(renderEvent.detail);
};
// Set up event listeners, and signal to Streamlit that we're ready.
// We won't render the component until we receive the first RENDER_EVENT.
streamlit_component_lib_1.Streamlit.events.addEventListener(streamlit_component_lib_1.Streamlit.RENDER_EVENT, onRenderEvent);
streamlit_component_lib_1.Streamlit.setComponentReady();
const cleanup = () => {
streamlit_component_lib_1.Streamlit.events.removeEventListener(streamlit_component_lib_1.Streamlit.RENDER_EVENT, onRenderEvent);
};
return cleanup;
}, []);
return renderData;
};
exports.useNullableRenderData = useNullableRenderData;