簡體   English   中英

腳本標簽內的 JSX 花括號?

[英]JSX Curly Braces Inside Script Tag?

這是一個愚蠢的問題,但它現在讓我難住了一段時間。 我目前正在嘗試設計一個 Mithril.js 組件,它返回一個包含<script>標簽的<div> object。 我只是嘗試執行幾個測試,到目前為止,我的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>);
}

一切似乎都找到了,直到我嘗試定義 object 的那一行,編譯器抱怨該行中的花括號。 我的 VS 代碼編輯器詢問我是否打算將大括號替換為{'{'}{'}'}&lbrace; &rbrace; ,但這似乎也不能解決問題。 是否有某種方法可以在 JSX 的<script>標記中包含花括號?

您可以通過執行{'{'} (使用單字符串的插值)和{'}'}在 JSX 中包含文字{} (如果適用)。

但無論哪種情況,您都不需要在視圖中使用<script> 該視圖已經在 JS 中 - 只需使用組件 state 即可。

您需要使用 dangerouslySetInnerHTML,但不建議這樣做。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM