Javascript JS:将变量值转换为字符串文字
我发现自己陷入了第二十二条军规。我试图创建一个React组件来呈现代码。基本上,一个Javascript JS:将变量值转换为字符串文字,javascript,reactjs,Javascript,Reactjs,我发现自己陷入了第二十二条军规。我试图创建一个React组件来呈现代码。基本上,一个pre节点,我可以用行号、语法突出显示等方式包装它。但是,我在一开始就被卡住了 如何将代码片段传递给props.children,然后在组件中呈现它?以下是基本设置: <CodeBlock> <div>Hello Hackers!</div> </CodeBlock> export const CodeBlock = (props) => {
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]
。用大括号和反勾号包装内部代码块很麻烦,但这是迄今为止我能找到的实现这一点的唯一方法。