react-photo-album 不适用于 renderToStaticMarkup

问题描述 投票:0回答:1

ReactDOMServer.renderToStaticMarkup 有一些问题,使用下面的代码它渲染主容器,即react-photo-album--rows,但它是空的,图像未渲染

ReactDOMServer.renderToStaticMarkup(<PhotoAlbum
  photos={photos}
  {...config}
/>);

但是当我添加 defaultContainerWidth 时,它会在内部渲染图像

<PhotoAlbum
  ...
  defaultContainerWidth={300}
/>

我试图解决的问题: 我用下面的检查重新编写了组件,如果 Mounted===true 那么只有组件会渲染,否则它不会。但也没有解决

const [mounted, setMounted] = useState(false);

useEffect(() => {
  setMounted(true)
}, []);
reactjs
1个回答
0
投票

这是预期且有据可查的行为。

要启用服务器端渲染,请指定

defaultContainerWidth
属性。否则,React Photo Album 在服务器上生成一个空标记,并仅在水合后在客户端上呈现。

https://react-photo-album.com/#HowItWorks_SSR

© www.soinside.com 2019 - 2024. All rights reserved.