You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Strapi富文本内容在Next.js/React前端页面无法正确显示问题求助

问题原因和解决方法

核心问题说明

React默认会对插入的字符串内容做XSS安全转义,所以Strapi返回的带HTML标签的富文本内容会被当成普通字符串直接展示,不会被解析为页面DOM节点,就会出现标签外露、格式丢失的问题。你遇到的react-markdown导入报错,是因为最新版react-markdown已改为纯ESM模块,低版本Next.js或CommonJS导入方式不兼容导致。


解决方法1:快速适配(适合个人CMS、内容可控的场景)

直接用React原生的dangerouslySetInnerHTML属性渲染富文本,修改你代码中内容渲染的部分即可:

// 把原来的 {posts.Content} 替换成下面的写法
<div dangerouslySetInnerHTML={{__html: posts.Content}} />

解决方法2:用react-markdown渲染(安全系数更高,适合存在用户输入的场景)

  1. 先安装兼容低版本环境的react-markdown和配套插件:
npm install react-markdown@8 rehype-raw@6
  1. 修改页面代码,导入并使用组件:
import ReactMarkdown from 'react-markdown'
import rehypeRaw from 'rehype-raw'

export default function BlogPage({ posts }) {
  return (
    <>
      <div>
        <div>
          {posts.Title}
        </div>
      </div>
      {/* 渲染富文本内容 */}
      <div>
        <ReactMarkdown rehypePlugins={[rehypeRaw]}>
          {posts.Content}
        </ReactMarkdown>
      </div>
      <Carousel />
    </>
  );
}

// 剩下的getStaticPaths、getStaticProps代码不用修改

内容的提问来源于stack exchange,提问作者JJM50

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 20:09:02