我最近使用的是富文本编辑器,它将一个JSON对象发送到我的API,其中包含所有文本和格式。
编辑器有以下选项:
@username
然后,API会从此对象生成一个HTML字符串,并将其存储在数据库中以获得更好的性能,因为大多数条目都是以15个项目的批量加载的注释。
已标记的用户已被条带化,并被占位符{{userX}}
替换。
条带化数据分别存储在值JSON-schema中。
保存为HTML后,它看起来像这样:
<p>
Hello {{user1}},
<strong>how are you doing?</strong>
</p>
这样的价值观:
{
"user1": {
"text": "@anna",
"username": "anna"
}
}
这样做的主要原因是我必须在客户端生成链接,以使其可以与react-router一起使用。
所以我的想法是在客户端将它渲染成这样的东西:
<p>
Hello <Link to="/users/anna">@anna</Link>,
<strong>how are you doing?</strong>
</p>
但是afaik我无法在react的渲染函数或dangerouslysetinnerhtml中渲染这个动态JSX代码。
所以我认为我的api-design可能是错的,但我缺乏更好的想法如何解决这个问题。