【发布时间】:2020-10-06 18:24:10
【问题描述】:
我在我的 react hooks 网站中显示来自 contentful 的博客内容。现在post.description收到了博客的完整描述。我想将 post.description 中收到的code snippets, json data 显示为code block。还想将标题添加到 h1 或 h2 标签。我们如何从描述字段中识别代码块?现在它只是在页面中显示文本(请参考添加的屏幕截图)
import React from "react";
import { Link, useParams } from "react-router-dom";
import MD from "react-markdown";
import { useSinglePost } from "../custom-hooks";
import Moment from 'moment';
export default function SinglePost() {
const { id } = useParams();
const [post, isLoading] = useSinglePost(id);
const renderPost = () => {
if (isLoading) return ( <div> <p className="noSearchData">Loading...</p> </div>);
return (
<React.Fragment>
<div className="main_intro">
<h3 className="blog_title">{post.title}</h3>
<small className="blog_date">{Moment(post.createdAt).format('MMM DD YYYY')}</small>
<pre className="blog_main_desc"><code>{post.description}</code></pre>
<img
className="blog_img"
src={post.image.fields.file.url}
alt={post.title}
/>
</div>
<div className="post__body">
<MD source={post.body} />
</div>
</React.Fragment>
);
};
return (
<div className="post">
<Link className="post__back" to="/">
{"< Back"}
</Link>
{renderPost()}
</div>
);
}
【问题讨论】:
标签: javascript react-hooks contentful