import React, { memo, useContext, useEffect } from 'react'; import GridLayout, { ItemCallback } from 'react-grid-layout'; import DynamicEngine from 'editorCore/DynamicEngine'; import styles from './viewRender.less'; import { useDispatch } from 'react-redux'; import { dooringContext } from '../layouts'; interface PointDataItem { id: string; item: Record; point: Record; } interface ViewProps { pointData: Array; pageData?: any; width?: number; dragStop?: ItemCallback; onDragStart?: ItemCallback; onResizeStop?: ItemCallback; } const ViewRender = memo((props: ViewProps) => { const { pointData, pageData, width, dragStop, onDragStart, onResizeStop } = props; const dispatch = useDispatch() console.log( pointData.map((item) => item.point), '显示数据111', pointData, ); const context = useContext(dooringContext); useEffect(() => { pointData.forEach((p, index) => { if (p.item.type === 'PhotoAds') { p.item?.config?.imgList?.forEach((i, idx) => { context.addImageLoadingNum(`${index}-${idx}`) }) } }) }, []) return ( item.point) || null} onLayoutChange={(layout) => { if(!layout) return dispatch({ type: 'editorModal/updateLayout', payload: { layout }, }); }} style={{ backgroundColor: pageData && pageData.bgColor, backgroundImage: pageData && pageData.bgImage ? `url(${pageData.bgImage[0].url})` : 'initial', backgroundSize: 'contain', backgroundRepeat: 'no-repeat', }} > {pointData.map((value: PointDataItem, index) => { return (
); })}
); }); export default ViewRender;