import * as React from 'react'; import styles from './index.less'; import { IRenderer } from '../../index.data'; const RichTextRenderer: IRenderer = ({ value, style }) => { // 取ref_size_sensor高度, 设置为ref的高度(ref_size_sensor总是正确的) const ref = React.useRef(null); const ref_size_senser = React.useRef(null); const [height, setHeight] = React.useState(0); React.useEffect(() => { const newHeight = ref_size_senser.current!.getBoundingClientRect().height; if (newHeight > 0) { setHeight(newHeight); } }, [value, JSON.stringify(style)]); const newStyle = { ...style, whiteSpace: 'normal', wordBreak: 'break-all', height: height > 0 ? height : undefined, overflow: 'hidden', } as React.CSSProperties; return (
); }; export default RichTextRenderer;