Javascript 脚本标记中的JSX花括号?

Javascript 脚本标记中的JSX花括号?,javascript,jsx,mithril.js,Javascript,Jsx,Mithril.js,这是一个愚蠢的问题,但我一时糊涂。我目前正在尝试设计一个Mithril.js组件,它返回一个包含标记的对象。我刚刚尝试执行了几个测试,到目前为止,我的view()方法如下所示: view() { return (<div> <script> var x = 5; alert(x); var y = {"a" : 1, "b": 3}; /

这是一个愚蠢的问题,但我一时糊涂。我目前正在尝试设计一个Mithril.js组件,它返回一个包含
标记的
对象。我刚刚尝试执行了几个测试,到目前为止,我的
view()
方法如下所示:

view() {
    return (<div>
        <script>
            var x = 5;
            alert(x);
            var y = {"a" : 1, "b": 3}; // Compiler complains about the curly braces in this line
        </script>
    </div>);
}
view(){
返回(
var x=5;
警报(x);
var y={“a”:1,“b”:3};//编译器抱怨这一行中的花括号
);
}

在我试图定义一个对象的那一行,编译器抱怨那一行中的花括号之前,一切似乎都找到了。我的VS代码编辑器问我是否打算用{{'}{'}&lbrace
&rbrace,但这似乎也不能解决问题。是否有某种方式可以在JSX中的
标记中包含花括号?

您需要使用危险的LysetinerHTML,但不建议这样做

<script
  dangerouslySetInnerHTML={{
    __html: `
            var x = 5;
            alert(x);
            var y = {"a" : 1, "b": 3};
        `,
  }}
/>

您可以通过执行
{{{}
(使用单个字符串的插值)和
{}
(如适用)在JSX中包含文字
{


但无论哪种情况,您都不需要在视图中使用
。视图已经在JS中-只需使用组件状态即可。

{{{{}
{{{}}
就是这样做的。但是,用JS动态生成
元素似乎很难。如果需要这样做,“逻辑有问题。@爱普斯卡雷罗,你们能解释一下为什么不推荐这个吗?错误——这是你们在《反应》中的做法,而不是《密苏里》。