UNPKG

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
"use strict"; 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;