当前位置: 首页 > 面试题库 >

React Server端CSS模块渲染

司寇旺
2023-03-14
问题内容

CSS与React组件的当前做法似乎是使用webpack的样式加载器将其加载到页面中。

import React, { Component } from 'react';
import style from './style.css';

class MyComponent extends Component {
    render(){
        return (
            <div className={style.demo}>Hello world!</div>
        );
    }
}

通过这样做,样式加载器会将<style>元素注入DOM。但是,<style>不会出现在虚拟DOM中,因此如果进行服务器端渲染,<style>则将省略。这导致页面具有FOUC。

还有其他方法可以加载在服务器和客户端均可使用的CSS模块吗?


问题答案:

您可以看一下isomorphic-style-loader。加载程序是专门为解决此类问题而创建的。

但是,使用此_insertCss()方法必须使用加载程序提供的方法。该文档详细说明了如何使用它。

希望能有所帮助。



 类似资料:
  • 在项目运行时,渲染模块往往占据了最大的CPU开销,它也是我们为项目进行深度优化时最为关注的一部分。就目前而言,渲染性能主要被 不透明物体的渲染耗时 和 半透明物体的渲染耗时 所占据,而每一部分的性能开销又和其底层的渲染参数息息相关,比如 Draw Call数量、渲染面片数 和 可见蒙皮网格数 等等。因此,我们会根据上述性能参数对渲染模块进行详细的性能检测和分析。 数据汇总 该项主要展示项目运行过程

  • Particle Renderer 粒子渲染部分由 ParticleSystemRenderer 控制,ParticleSystemRenderer 分为 CPU 渲染器和 GPU 渲染器,CPU 渲染器通过一个对象池来维护所有粒子,根据粒子当前状态来生成对应的 vb、ib 数据,持有粒子需要渲染的材质,并且保存相关渲染状态。GPU 渲染器目前版本是在 CPU 端生成粒子,只提交初始参数的 vb,

  • 任何超过 1000 行的 CSS 代码,你都曾经历过这样的体验: 这个 class 到底是什么意思呢? 这个 class 在哪里被使用呢? 如果我创建一个 xxoo class,会造成冲突吗? Reasonable System for CSS Stylesheet Structure 的目标就是解决以上问题,它不是一个框架,而是通过规范,让你构建更健壮和可维护的 CSS 代码。 Componen

  • 在网上找不到任何资源,但我正在尝试优化我们的内部组件库,我正在尝试使树摇床更友好。 我怎样才能离开罗洛普。输出中的css文件以及在文件中维护它们的导入。 即E 输出。 这似乎是尽可能直截了当的,iv'e发现了类似的线索,但没有回应。https://github.com/egoist/rollup-plugin-postcss/issues/204 允许这样做基本上意味着使用我的项目的人只会自动获得

  • 6.1 渲染模板 一旦你拥有一个模版文件,你可以通过给一个map来给它传递数据。 map是一个变量及赋予的值的集合,模板使用它来得到变量的值,或者对于块标签求值。 它的渲染函数有一个可选的变量键值对map 通过 ctx.Render() 方法来渲染模板,例如: func (r *Render) Serve(ctx *faygo.Context) error { return ctx.Ren

  • CSS3DRenderer用于通过CSS3的transform属性, 将层级的3D变换应用到DOM元素上。 如果你希望不借助基于canvas的渲染来在你的网站上应用3D变换,那么这一渲染器十分有趣。 同时,它也可以将DOM元素与WebGL的内容相结合。 然而,这一渲染器也有一些十分重要的限制: 它不可能使用three.js中的材质系统。 同时也不可能使用几何体。因此,CSS3DRenderer仅仅