如何在模板文字中使用模板文字 (``)?

the*_*uls 7 javascript jsx reactjs template-literals

我有一个非常具体的边缘情况,我需要在模板文字中使用模板文字,但无法完成。

代码如下所示:

<p>Something something <a href={`${SOMELINK}/blah`}>SomeLink</a></p>
Run Code Online (Sandbox Code Playgroud)

但是我必须将它包装在一个函数中,同时保持SOMELINK变量的值,这会导致错误发生。我是否逃脱了蜱虫。

someFunction (`<p>Something something <a href={`${SOMELINK}/blah`}>SomeLink</a></p>`)
Run Code Online (Sandbox Code Playgroud)

使用转义刻度,我收到以下错误消息:

错误:应为 SOMELINK,但未提供

没有,我得到:

意外的令牌,预期的“,”

我该如何处理?

编辑:可能应该注意的是,传入的代码someFunction将被呈现并且需要使用。它最终将通过 传递给另一个标签dangerouslySetInnetHTML。所以它看起来像这样:

<div dangerouslySetInnerHTML={{__html: someFunction(`<p>Something something <a href={`${SOMELINK}/blah`}>SomeLink</a></p>`)}}/>
Run Code Online (Sandbox Code Playgroud)

不确定这是否相关,但someFunction只是对文本进行了一些修改。

imj*_*red 4

我认为你把它过于复杂化了。如果您只需要维护 的值SOMELINK,那么这应该可行:

someFunction(`<p>Something something <a href="${SOMELINK}/blah">SomeLink</a></p>`)
Run Code Online (Sandbox Code Playgroud)