string-to-react-component
Version:
Dynamically create and render React components from strings at runtime, converting strings to React components for flexible UI generation.
18 lines • 657 B
JavaScript
import React, { useRef, useState, useEffect } from 'react';
function StringToReactComponent(deps, props) {
var getCtx = deps.getCtx,
Babel = deps.Babel,
react = deps.react;
var _useState = useState({}),
rerender = _useState[1];
var ref = useRef(null);
ref.current = ref.current || getCtx(react, Babel, rerender);
var api = ref.current;
var data = props.data || {};
useEffect(function () {
api.update(props.children || '()=>null', props.babelOptions || {});
}, [props.children, props.babelOptions]);
var Com = api.getComponent();
return /*#__PURE__*/React.createElement(Com, data);
}
export default StringToReactComponent;