Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将模板文字作为道具传递不会进行渲染_Javascript_Reactjs_Template Strings - Fatal编程技术网

Javascript 将模板文字作为道具传递不会进行渲染

Javascript 将模板文字作为道具传递不会进行渲染,javascript,reactjs,template-strings,Javascript,Reactjs,Template Strings,我有一个功能部件 const Paragraph = forwardRef((ref: any) => { return ( <div> <p dangerouslySetInnerHTML={{ __html: props.text }}></p> </div> ); }); const段落=forwardRef((ref:any)=>{ 返回( ); }); 调用此组件时,无法呈现此模板文字: &

我有一个功能部件

const Paragraph = forwardRef((ref: any) => {
  return (
    <div>
      <p dangerouslySetInnerHTML={{ __html: props.text }}></p>
    </div>
  );
});
const段落=forwardRef((ref:any)=>{
返回(

); });
调用此组件时,无法呈现此模板文字:

<Paragraph text={`${<a href="#">Terms of Service</a>} and ${<a href="#">Privacy Policy</a>}`} />

结果是:
[object object]和[object object]
尝试删除模板字符串中的${}

编辑:我刚刚注意到@super在评论中已经提到了这一点。
归功于他;)

ES6模板文本接受它转换为字符串的
${}
中的表达式。您正在为它提供JSX对象
${}
,而这些对象实际上无法转换为字符串表示,它所能做的最好的事情就是
[object object]

您真正想要的是将内部HTML设置为实际字符串
,因此只需删除标记周围的
${}
即可获得预期结果

<Paragraph text={`<a href="#">Terms of Service</a> and <a href="#">Privacy Policy</a>`} />


您正在将JSX对象传递给字符串模板。只需删除标记周围的
${}
。你能将其作为注释发布吗?我想接受你的回答