'cubic' htmlエンティティ(上付き文字3)を表示したいです。私はこのようにしています:
const formatArea = function(val){
return val + " ft³";
}
ここで、formatArea
はコンポーネント内から呼び出されています ':
render(){
return (
<div>
{formatArea(this.props.area)}
</div>
);
}
しかし、ブラウザはft³
JSXを使用してこの方法を見つけました。
const formatArea = (val) => {
return (<span>{val} ft<sup>3</sup></span>);
}
別のオプションは fromCharCode メソッドを使用することです:
const formatArea = function(val){
return val + ' ft' + String.fromCharCode(179);
}
JsxのdangerouslySetInnerHTML
機能を使用して取得できます。
別の方法は、htmlエンティティの対応するunicode
文字を使用し、通常の文字列として使用することです。
const formatArea = function(val){
return val + " ft³";
}
const Comp = ({text}) => (
<div>
<div dangerouslySetInnerHTML={{__html: `${text}`}} />
<div>{'53 ft\u00B3'}</div>
</div>
);
ReactDOM.render( <Comp text={formatArea(53)} /> ,
document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
方法1
_const formatArea = val => <div>{val} ft{'³'}</div>
_
方法2
_const formatArea = val => <div>{val} ft{'\u00B3'}</div>
_
方法3: fromCharCode
const formatArea = val => <div>{val} ft{String.fromCharCode(parseInt('B3', 16))}</div>
方法4
const formatArea = val => <div>{val} ft{String.fromCharCode(179)}</div>
方法5: HTMLコード
_const formatArea = val => <div>{val} ft³</div>
_
方法6
_const formatArea = val => <div>{val} ft³</div>
_
方法7
_const formatArea = val => <div>{val} ft<sup>3</sup></div>
_
次に、レンダリングできます:
_render() {
return (
{formatArea(this.props.area)}
)
}
_
Reactの fragments
:<>³</>
を使用した新しい方法。
あなたの場合、次のようになります。
const formatArea = function(val){
return <>{val + ' '}³</>
}