cod*_*321 10 javascript jsx reactjs
我在React中将{和}显示为文本时遇到问题.我看到一个类似的问题,有人说将整个字符串包裹在curlies中,但这不起作用:
let queries_block = this.state.previous_queries.map((dataset) => {
return (<p>{"{{}}"}<p>)
});
if (results) {
results_block = (
<div>
<p>Queries:</p>
{queries_block}
<br/><br/>
<p>Results: {results_count}</p>
<JSONPretty id="json-pretty" json={results}></JSONPretty>
</div>
);
} else {
results_block = null;
}
Run Code Online (Sandbox Code Playgroud)
的return (<p>{"{{}}"}<p>)原因
ERROR in ./src/components/app.js
Module build failed: SyntaxError: Unexpected token, expected } (47:13)
45 | <JSONPretty id="json-pretty" json={results}></JSONPretty>
46 | </div>
> 47 | );
| ^
48 | } else {
49 | results_block = null;
50 | }
@ ./src/index.js 15:11-38
webpack: Failed to compile.
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来逃避jsx中的花括号?
use*_*559 12
我认为这个问题只是一个错字.你有这个:
return (<p>{"{{}}"}<p>)
Run Code Online (Sandbox Code Playgroud)
但你需要这个(注意结束p标记而不是另一个开放标记):
return (<p>{"{{}}"}</p>)
Run Code Online (Sandbox Code Playgroud)
小智 10
您甚至可以在 ES6 中使用字符串插值。模板文字是允许嵌入表达式的字符串文字。您可以使用多行字符串和字符串插值功能。模板文字由反引号 (` `)(重音)字符括起来,而不是用双引号或单引号括起来。
eg: return (<p>{`{{}}`}</p>)
Run Code Online (Sandbox Code Playgroud)
如果您无法使用{and },那么您可以使用自定义代码:
export default class Component extends React.Component {
render () {
return (
Some object {'{'}id: 1{'}'}
)
}
}
Run Code Online (Sandbox Code Playgroud)
这将输出文本Some object {id: 1}
更新:将其更改为更好的解决方案,感谢@xec
| 归档时间: |
|
| 查看次数: |
6214 次 |
| 最近记录: |