React 專案中利用 react-markdown 套件將 Markdown 渲染成網頁內容

更新 發佈閱讀 4 分鐘

在 React 專案中,我們可以輕鬆將 .md 檔案轉換為網頁內容。

以下是使用 react markdown 套件將 Markdown 渲染到網頁的流程~


Step 1:安裝 Markdown 渲染套件

首先在 React 專案中安裝套件:

npm install react-markdown

這個套件可以將 Markdown 字串轉換為 React 元件,並渲染成 HTML。


Step 2:渲染內容

準備一段 markdown 語法的內文:

const articleContent =  `
# Hello World

This is **markdown** in React.

- item 1
- item 2
`;

使用 ReactMarkdown component 渲染到 html

return (
<article className="prose lg:prose-xl mx-auto">
<ReactMarkdown>{post}</ReactMarkdown>
</article>
);

效果如下:

vocus|新世代的創作平台

但是,這種將 markdown 內容寫在程式裡的做法經常因為縮排問題導致解析失敗,實務上來說也不太會這麼做,所以可以將內容存在額外的檔案,並透過 fetch 抓取後再渲染。


進階做法: fetch 預防解析失敗

利用 useEffectfetch 取得 Markdown 檔案內容,並透過 ReactMarkdown 元件呈現。

import { useEffect, useState } from "react";
import ReactMarkdown from "react-markdown";

export default function Post() {
const [post, setPost] = useState("");

useEffect(() => {
fetch("/articles/markdown.md")
.then((res) => res.text())
.then((text) => setPost(text));
}, []);

return (
<ReactMarkdown>{post}</ReactMarkdown>
);
}

結語

在 react 專案中,可以透過 react markdown 套件輕鬆將 Markdown 內容渲染成網頁,基本流程就是三個步驟:

  1. 安裝 react markdown 套件:npm install react-markdown
  2. 使用 <ReactMarkdown>{post}</ReactMarkdown> 元件渲染內容
  3. 內容成功渲染到 HTML

就是這麼簡單!!

留言
avatar-img
Elaine 粼粼的林林總總
10會員
40內容數
不定期地分享程式/旅遊/學習/閱讀或各式各樣的文章,如果對我的分享有興趣,歡迎來找我玩~
2026/03/03
將 GitHub repo 的前端作品部署到了 vercel 卻反覆發生 404,記錄下 debug 的過程。
Thumbnail
2026/03/03
將 GitHub repo 的前端作品部署到了 vercel 卻反覆發生 404,記錄下 debug 的過程。
Thumbnail
2026/02/28
前一篇文章介紹了 JavaScript 中的 class 及語法,本篇文章將延續上一篇的基礎,進一步深入了解 extends 如何建立繼承關係、super() 在建構子中的角色、super.method() 如何搭配覆寫(override)使用。
2026/02/28
前一篇文章介紹了 JavaScript 中的 class 及語法,本篇文章將延續上一篇的基礎,進一步深入了解 extends 如何建立繼承關係、super() 在建構子中的角色、super.method() 如何搭配覆寫(override)使用。
2026/02/25
探討 JavaScript ES6 推出的 class 語法,其本質上是基於原型的語法糖。文章從建構函式概念出發,對比其與 class 的 constructor 差異,透過實際程式碼驗證 class 內部方法屬於原型物件。說明 class 作為 function 的特性以及其不會被提升的重要區別。
2026/02/25
探討 JavaScript ES6 推出的 class 語法,其本質上是基於原型的語法糖。文章從建構函式概念出發,對比其與 class 的 constructor 差異,透過實際程式碼驗證 class 內部方法屬於原型物件。說明 class 作為 function 的特性以及其不會被提升的重要區別。
看更多
你可能也想看
Thumbnail
最近工作上可能要用 React + Tailwind 了,剛好正巧遇到 React 19 和 Tailwind 4.0 剛推出,尤其是 Tailwind 做了大改版,對我這樣剛好是這兩項技術的新手小白來說,還沒有更多文章可以參考,光是安裝也是摸索了一陣子。以下以 Vite 6 + React 18.
Thumbnail
最近工作上可能要用 React + Tailwind 了,剛好正巧遇到 React 19 和 Tailwind 4.0 剛推出,尤其是 Tailwind 做了大改版,對我這樣剛好是這兩項技術的新手小白來說,還沒有更多文章可以參考,光是安裝也是摸索了一陣子。以下以 Vite 6 + React 18.
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這一集用最新的Vite工具去創建初始檔案。Vite用於創建和構建Web應用程序,具有快速的啟動時間、即時熱更新、小型體積、支持多種框架和可擴展性等優點。
Thumbnail
這一集用最新的Vite工具去創建初始檔案。Vite用於創建和構建Web應用程序,具有快速的啟動時間、即時熱更新、小型體積、支持多種框架和可擴展性等優點。
Thumbnail
這篇文章深入淺出地解釋 JavaScript 中表達式 (expression) 與陳述式 (statement) 的差異,並以 React 中 JSX 的應用為例,說明為何大括號 {} 內只能放入表達式。文章以類比人類語言的句子結構來幫助理解,並提供相關參考資料連結。
Thumbnail
這篇文章深入淺出地解釋 JavaScript 中表達式 (expression) 與陳述式 (statement) 的差異,並以 React 中 JSX 的應用為例,說明為何大括號 {} 內只能放入表達式。文章以類比人類語言的句子結構來幫助理解,並提供相關參考資料連結。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
使用React.js實作CAPTCHA元件的步驟和技巧
Thumbnail
使用React.js實作CAPTCHA元件的步驟和技巧
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News