反应:渲染一个数组,其中某些元素是常规字符串,其他元素是<Link>组件

时间:2020-09-24 06:21:06

标签: javascript reactjs react-router jsx

我有一个带有属性content的JSON对象,该属性是一个数组。

此数组中的某些元素是常规字符串,其中一些是<Link/>中的react-router-dom个组件。例如: ["String1 ", "String2 ", "<Link to='/path'/>path</Link> ", etc]

此刻,react正在渲染我要渲染Link组件的文字字符串<Link to.../>

呈现对象的行是:<Row style={{ cursor: 'text' }}>{content}</Row>

2 个答案:

答案 0 :(得分:0)

在数组中,您将React Link元素括在引号中。任何用引号引起来的JavaScript都将被视为原始字符串。您尝试做的可能是使用JSX渲染React组件。只需删除引号(而且似乎在'/ path'之后还有一个额外的/):path。然后,该JSX代码将在编译时转换为JavaScript,并应呈现该组件。

答案 1 :(得分:0)

对于以后会看到这篇文章的人,我最终使用react-string-replace将内容中的字符串替换为无需使用dangerouslySetInnerHTML即可工作的组件。