JavaScript:如何使用ReactDOMServer.renderToString格式化str.replace,使用捕获的元素作为道具

问题描述 投票:0回答:1

我正在尝试应用此正则表达式

str.replace(/<L href=(.*?)>(.*?)<\/L>/g, ReactDOMServer.renderToString(<L href={$1}>$1</L>))

但是它不能识别$1中的href={$1}(说它没有定义),尽管它确实出现在第二位并且表明它已被正确捕获

我该怎么写?

*因此问题不在于正则表达式,而是如何将捕获的变量用作组件的参数


也许是这样?

($1, $2) => ReactDOMServer.renderToString(<L href={$1}>$1</L>)
javascript regex reactjs render-to-string react-dom-server
1个回答
0
投票

可以通过不捕获昏迷来解决

str.replace(/<L href="(.*?)">(.*?)<\/L>/g, ReactDOMServer.renderToString(<L href="$1">$1</L>))

但是没有更好的方法吗?

© www.soinside.com 2019 - 2024. All rights reserved.