【发布时间】:2018-03-24 01:44:25
【问题描述】:
我的应用尝试显示电子邮件。有时电子邮件中的样式会影响应用程序本身。
现在我正在使用包 juice 来内联电子邮件 html 中的样式。但是,有时它不能正确内联。所以我尝试寻找其他解决方案。
我知道 Angular 会自动在每个类中添加一些随机字符串,以确保一个组件中的样式不会影响其他组件,在 React 中有相同的方法吗?还是有其他方法可以在不使用 iframe 的情况下将样式限制在组件级别?谢谢
演示显示电子邮件中的p { color: red; } 也会影响应用程序本身。在这种情况下,它会影响Content in app。
class Mail extends Component {
render() {
// the style inside is from mail, in real case, it can have tens or even hundreds of different styles
const mailFromServer = `
<html>
<head>
<style>
p { color: red; }
</style>
</head>
<body>
<p>Content in mail</p>
</body>
</html>
`;
return (
<div>
<div dangerouslySetInnerHTML={{__html: mailFromServer}} />
</div>
);
}
}
class App extends Component {
render() {
return (
<div>
<Mail />
<p>Content in app</p>
</div>
);
}
}
【问题讨论】: