我有一个预先准备好的SSR应用程序,并已使用Emotion JS 10进行样式设置。
我想为此添加RTL支持,因此使用了createEmotion
和createEmotionServer
并使用了生成的renderStylesToString
来渲染应用程序。
但是,在创建createEmotion
时,它要求使用我为其添加了stylis-rtl
插件的插件,但这将始终应用RTL样式,而我希望在以下情况下应用RTL样式:每个请求。
我找不到任何方法可以告诉情感应用以及在每个请求的基础上获得RTL的样式。
它们确实具有React 16的直接实现,其中您可以将每个请求的多个缓存传递给CacheProvider
。
但是我似乎无法为Preact弄清楚这一点。
一种解决方案可能是为RTL提供不同的Webpack版本,但这是不必要的开销。
答案 0 :(得分:0)
如果要针对每个请求进行此操作,则应创建2个情感实例(一个带有插件,另一个不带插件)。另外,您将必须为每个请求使用正确的实例-最简单的方法可能是在上下文中:将情绪放在上下文中,然后从那里而不是从import语句使用它。