[英]Adding html tag inside javascript string
我在React js中有以下代碼:
'use strict';
module.exports = {
homePage: {
sliderTitle: 'Creative portfolio',
loginTitle: 'Do you already <b>have</b> an account?'
},
registrationPage: {
foo: 'bar'
}
};
當我嘗試使用這些標簽時
var EN = require('./en');
{EN.homePage.loginTitle}
但是{EN.homePage.loginTitle}
返回內部帶有b標簽的字符串。
我如何將此b標記應用於“ have”一詞?
注釋中提到的一個選項是使用dangerouslySetInnerHTML
loginTitle
分配loginTitle
一個__html
對象(注意雙下划線'__')並將其作為道具傳遞給元素。
loginTitle: {__html: 'Do you already <b> have </b> an account?' }
...
<div dangerouslySetInnerHTML={EN.homePage.loginTitle}></div>
一般來說,盡管您應該避免文檔中強調的那樣,盡可能避免使用dangerouslySetInnerHTML
的SetInnerHTML: https : //facebook.github.io/react/tips/dangerously-set-inner-html.html
還有其他更安全的選項可在此處概述的文本中插入HTML: http : //facebook.github.io/react/docs/jsx-gotchas.html
在這種情況下最適合您的一種方法是使用字符串和JSX的混合數組,因此:
loginTitle: ['Do you already ', <b>have</b>, ' an account']
...
<p>{EN.homePage.loginTitle}</p>
這也是一個DEMO ,只是為了說明兩種方法具有相同的效果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.