Mam komponent z atrybutem data-icon
. Wartością tego atrybutu powinna być na przykład 
, aby css mógł renderować je poprzez content: attr(data-icon);
.React zapobiega ucieczce znaku amp (&) w atrybutach
Jednak cokolwiek próbuję: React ciągle ucieka do &
. Nawet jeśli podam prawidłowy kod Unicode \u0026#xf00f
.
Czy jest jakiś sposób, aby zatrzymać React przed naruszeniem tej wartości? Poza niebezpiecznym ustawianiem wewnętrznego html, ponieważ nie chcę dodawać kolejnego opakowania.
Komponent
define([ 'react', 'util' ], function(React, Util)
{
return React.createClass(
{
render: function()
{
//var amp = '\u0026',
var amp = String.fromCharCode(38),
// Util.icons[x] returns a String, such as "f00f"
code = amp + '#x' + Util.icons[this.props.name] + ';';
return (
<i data-icon={code}>
{this.props.children ? <span>{this.props.children}</span> : null}
</i>
);
}
});
});
Wykorzystanie
<Widget.Icon name="add" />
Wyjście
<i data-icon="&#xf0fb;" data-reactid=".170lse36465.7.0"></i>
użyć ' "\ uf00f"'? – chirlu
Niestety css nie interpretuje tego jako znaku utf8, gdy używam funkcji attr(). Po prostu wypisuje dokładnie ten sam ciąg znaków. – Taig
Czy możesz opublikować kod komponentu? –