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

如何为从.txt文件读取的换行添加<br>标签?

问题解决方法

你代码里的问题主要有两个:

  • JavaScript的字符串是不可变的,replaceAll方法不会修改原字符串,只会返回一个新的字符串,你得把这个新结果存下来再返回
  • React里直接输出带<br>的字符串,它会把标签当普通文本显示,得用dangerouslySetInnerHTML来渲染HTML内容

修改后的代码如下:

import biology from './notes/biology.txt';
import './App.css';
import React, {useState, useEffect} from 'react';

function App() {
    const [BioText, setBioText] = useState('Failed to fetch text');

    useEffect(() => {
        const getData = async () => {
            const response = await fetch(biology)
                .then(r => r.text())
                .then(BiologyText => {
                    console.log('text decoded:', BiologyText);
                    // 把replaceAll的结果赋值给新变量
                    const formattedText = BiologyText.replaceAll(/(\r\n|\r|\n)/g, '<br>')
                    console.log(formattedText)
                    return formattedText
                });
            setBioText(response);
        };
        getData()
    }, []);

    // 用dangerouslySetInnerHTML渲染带HTML的内容
    return <div dangerouslySetInnerHTML={{ __html: BioText }} />;
}

export default App;

额外说明:你用的正则已经覆盖了所有常见的换行符格式(Windows的\r\n、旧Mac的\r、Unix/Linux的\n),不用再调整匹配规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:25:22