【问题标题】:Creating a function that replace a letter with a line break创建一个用换行符替换字母的函数
【发布时间】:2023-03-19 07:58:01
【问题描述】:

我正在尝试创建一个用换行符替换某些特定字符的函数。

我正在从我的 API 中获取数据,但我总是返回 [object Object]

我的函数是这样写的:



  const includeFunction = (data) => {
const linebreak = React.createElement('br')
return data.replace("lb182", linebreak)
  }


          <ArticleComponent
            description={includeFunction(job.description)}

};

然后我将它传递给渲染:

 description={includeFunction(job.description)}

任何想法如何用换行符替换字符?

【问题讨论】:

  • 你实际上是如何渲染东西的?您应该只在组件生命周期内的渲染/内创建元素
  • 如果我用“Hello”之类的另一个词而不是换行符之类的 dom 元素替换它,我就可以工作了
  • 您没有回答我的问题...您实际上是如何渲染内容的?你的渲染方法是什么样的?
  • 您看到的打印输出是对象的字符串表示形式。您需要实际渲染元素,或者使用不同的方法来处理它。很难知道如何在没有代码的情况下提供帮助以及数据是什么样的
  • 尝试在函数replace中使用正则表达式而不是字符串

标签: reactjs react-dom


【解决方案1】:

问题可能在于您将 React 元素放入字符串中。您可以改为让函数返回一个包含字符串和换行符的数组。例如:

function replaceBreaks(data){
    const stringAsArr = data.split("lb182").map(str => [str, <br />]).flat();
    stringAsArr.pop();
    return stringAsArr;
 }

【讨论】:

  • 谢谢,这完全有道理
猜你喜欢
  • 2023-01-12
  • 2016-12-30
  • 2014-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-27
  • 2018-12-12
  • 2011-05-02
相关资源
最近更新 更多