提问人:pureofpure 提问时间:8/18/2017 最后编辑:Sal Rahmanpureofpure 更新时间:8/18/2017 访问量:472
如何在 React 服务器端渲染器应用程序上使用样式表?
How to use Stylesheets on React Server Side Rendererd App?
问:
我正在尝试将我的 ReactJS 应用程序转换为具有服务器端渲染的通用应用程序,但有些东西我不明白。使用样式并将其导入组件的最佳方式是什么?我可以只在 HTML 中导入外部样式表并在我的组件中使用它吗?或者将特定的样式表导入到每个组件中,并将其用作单独的变量,如下所示:
import s from './about.css';
export default class About extends Component {
render() {
return (
<div>
<div className={`${s.divone} row`}>
<span>Hello world</span>
</div>
<div className={s.divtwo}>
<span>bye world</span>
</div>
</div>
);
}
}
使用第二种方法,我注意到每次刷新页面时,样式加载速度都太慢了,有一秒钟我看到我的页面没有任何 CSS,然后我看到我的整个页面带有 CSS。有什么方法可以在没有外部和全局样式表的情况下绕过它吗?例如,Airbnb就是这样。也许有某种方法可以等到加载所有样式?
此外,在我将应用程序移动到服务器端渲染后,我收到一些奇怪的警告,如下所示:
答:
0赞
Umesh
8/18/2017
#1
你可以使用 classnames,一个简单而小的 JS 库来导入和使用 css 在你的 react 组件中:
import styles from './css/yourcss.css'
import classnames from 'classnames/bind'
const cx = classnames.bind(styles)
// use in react component
<div className={cx('mydiv')}></div>
cx 内部可以包含任何 JS 表达式,也可以只是从您导入样式的 css 中的纯类名。
评论
0赞
pureofpure
8/18/2017
我已经尝试过,但我仍然遇到页面重新加载的问题。
评论
bundler
webpack