Javascript JS:将变量值转换为字符串文字

Javascript JS:将变量值转换为字符串文字,javascript,reactjs,Javascript,Reactjs,我发现自己陷入了第二十二条军规。我试图创建一个React组件来呈现代码。基本上,一个pre节点,我可以用行号、语法突出显示等方式包装它。但是,我在一开始就被卡住了 如何将代码片段传递给props.children,然后在组件中呈现它?以下是基本设置: <CodeBlock> <div>Hello Hackers!</div> </CodeBlock> export const CodeBlock = (props) => {

我发现自己陷入了第二十二条军规。我试图创建一个React组件来呈现代码。基本上,一个
pre
节点,我可以用行号、语法突出显示等方式包装它。但是,我在一开始就被卡住了

如何将代码片段传递给
props.children
,然后在组件中呈现它?以下是基本设置:

<CodeBlock>
    <div>Hello Hackers!</div>
</CodeBlock>


export const CodeBlock = (props) => {
    return(
        <pre>
            {props.children}
        </pre>
    );
}
// This evaluates as a rendered div


export const CodeBlock = (props) => {
    return(
        <pre>
            {`props.children`}
        </pre>
    );
}
// This evaluates literally as `props.children`


<CodeBlock>
    {`<div>Hello Hackers!</div>`}
</CodeBlock>
// This works but it's messy for the end-user

你好,黑客们!
导出常量代码块=(道具)=>{
返回(
{props.children}
);
}
//这将作为渲染的div进行计算
导出常量代码块=(道具)=>{
返回(
{`props.children`}
);
}
//这个词的字面意思是“道具儿童”`
{‘你好,黑客!`}
//这是可行的,但对最终用户来说很麻烦

那么,我们现在可以猜到在这种情况下会出现什么“混乱”了吗?忽略您的文本,只回答您的问题标题:
variable.toString()
在JS中,将某些内容转换为字符串的一般方法是或(用于序列化和漂亮的打印)对不起,混乱的注释有一个打字错误,使其不清楚。我的意思是,用户必须记住用大括号和背面的记号来包装他们的代码。谢谢你的想法。等我到家后,迫不及待地想试试。如果有人将此作为答案而不是注释发布,我可以将其标记为correct.FWIW,
variable.toString()
在这种情况下不起作用,因为字符串的内容在到达我可以触摸的点时已经作为对象进行计算。然后,
this.props.children.toString()
的计算结果就是
[object object]
。用大括号和反勾号包装内部代码块是很麻烦的,但这是目前为止我能找到的唯一方法。那么我们现在来猜在这种情况下“麻烦”是什么?忽略您的文本,只回答您的问题标题:
variable.toString()
在JS中,将某些内容转换为字符串的一般方法是或(用于序列化和漂亮的打印)对不起,混乱的注释有一个打字错误,使其不清楚。我的意思是,用户必须记住用大括号和背面的记号来包装他们的代码。谢谢你的想法。等我到家后,迫不及待地想试试。如果有人将此作为答案而不是注释发布,我可以将其标记为correct.FWIW,
variable.toString()
在这种情况下不起作用,因为字符串的内容在到达我可以触摸的点时已经作为对象进行计算。然后,
this.props.children.toString()
的计算结果就是
[object object]
。用大括号和反勾号包装内部代码块很麻烦,但这是迄今为止我能找到的实现这一点的唯一方法。