搜尋

首頁  >  問答  >  主體

如何透過 REST API 發送 markdown,並在前端渲染它 (React)

因此,我嘗試轉換 Markdown 文件並透過 Rest API 發送它,然後在前端渲染它。問題是換行符和其他內容在嘗試將其轉換回來時會丟失。

如何以保留原始降價的方式渲染它?

有執行此操作的標準方法嗎?

嘗試透過 json.stringify 轉換 markdown,透過 api 傳送,嘗試將其轉換回 markdown,但不再像原來那樣運作。

P粉166779363P粉166779363270 天前373

全部回覆(2)我來回復

  • P粉418214279

    P粉4182142792024-02-27 10:52:54

    可以加入中的所有內容

     tag as following

       This is
       some code
       A json:
       {
         key: value
       }
    

    <pre> 標籤中,文字保留空格和換行符,因此它將完全按照 HTML 原始碼中寫入的方式顯示。

    回覆
    0
  • P粉423694341

    P粉4236943412024-02-27 00:41:39

    您可以將原始檔案作為字串傳送,或者如果這不是選項,您可以使用此函數格式化物件:

    const object = {a:[15,3457,15,"afbsv",[4,34,36],{
      l: "dsfvszd",
      qwe: 238475463,
      iuggbsf: ["AEfs",],
      afafwwa:{afafwafaw:{r:"4"}}
    }]}
    
    document.write(`
    ${format(object)}
    `); 函數格式(物件){ 讓結果=“”; 進程對象(對象,2); 函數 processObject(物件, 深度, isObjectValue = false, TrailingComma = "") { if ( 陣列 . isArray ( 物件 )) { 結果 = `${isObjectValue ? " " : "
    " " ".repeat(深度 - 2)}[`; for (令 i = 0; i < object.length; i ) { const 元素 = 物件[i], TrailingComma = i 1 === object.length ? “”:“,”; switch(元素類型){ 案例“對象”: processObject(元素, 深度 2, false, TrailingComma); 休息; 案例“字串”: 結果 = `< object.length; i++) { const 元素 = 对象[i], TrailingComma = i + 1 === object.length ? “”:“,”; switch(元素类型){ 案例“对象”: processObject(元素, 深度 + 2, false, TrailingComma); 休息; 案例“字符串”: 结果 += `
    ${" ".repeat(深度)}"${element}"${trailingComma}`; 休息; 案件編號」: 結果 = `
    ${" ".repeat(深度) 元素}${trailingComma}`; 休息; } } 結果 = `
    ${" ".repeat(深度 - 2)}]${trailingComma}`; } 別的 { 結果 = `${isObjectValue ? " " : "
    " " ".repeat(深度 - 2)}{`; 讓 keyIndex = 0, keyCount = Object.keys(object).length; for(物件中的鍵){ 常量值 = 物件[鍵], 尾隨逗號 = keyIndex === keyCount ? “”:“,”; switch(值類型){ 案例“對象”: 結果 = `
    ${" ".repeat(深度)}"${key}":`; processObject(值, 深度 2, true, TrailingComma); 休息; 案例“字串”: 結果 = `
    ${" ".repeat(深度)}"${key}": "${value}"${trailingComma}`; 休息; 案件編號」: 結果 = `
    ${" ".repeat(深度)}"${key}": ${value}${trailingComma}`; 休息; } } 結果 = `
    ${" ".repeat(深度 - 2)}}${trailingComma}`; } } 返回結果; }

    回覆
    0
  • 取消回覆