javascript - 如何将 Skeleton.css 添加到我的 React 应用程序?
问题描述
我主要在 React Native 中使用 React,现在我正在构建一个网站,所以在我的 React 应用程序中实现skeleton.css时遇到了一些麻烦。
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css" type="text/css" rel="stylesheet">
<title>Urban Hero</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
className
我添加了 CDN 链接标签,并希望在我的组件中使用 css类,如下所示:
export class HomeComponent extends Component {
render() {
return (
<div>
<div className="section hero"></div>
</div>
);
}
}
我确实应用了默认的 CSS,fontFamily 等等。然而,这些类没有被应用。我尝试复制粘贴此演示登录页面,但它看起来不一样。(当然我改变了className的类)
我在这里缺少任何步骤吗?
解决方案
您需要重新考虑应用程序的架构。您复制到这篇文章中的 HTML 页面在 React 应用程序中没有意义,它应该用 JSX 组件编写(大部分时间)。
React 有很多架构模式,但我通常喜欢从 ES6 开始,包括子组件和 ES6 类扩展React.component
。你可以使用常规函数而不是类(查看函数与类组件的 React 文档)。我将把子组件包装在一个<BaseLayout>
组件中,该组件为项目中的所有其他组件提供基本 CSS。
要使用此架构并包含 Skeleton CSS,我将利用包管理器 -npm install skeleton-css
或yarn add skeleton-css
,这取决于您在项目中使用的是哪个。一旦你这样做了,你可以像任何其他 ES6 包含一样添加它。
示例(假设制作了一些结构组件):
import React from 'react'
import PropTypes from 'prop-types'
// this might be different depending on your file system
import './skeleton.css'
import Header from '../Header/header'
import Footer from '../Footer/footer'
import Metadata from '../Metadata/metadata';
export default class BaseLayout extends React.Component {
render() {
return (
<SiteContainer>
<Metadata customTitle={ this.props.title } />
<div>
<Header />
<div>
{ /* Child components will inherit the CSS */
children
}
</div>
<Footer />
</div>
</SiteContainer>
)
}
}
BaseLayout.propTypes = {
children: PropTypes.node.isRequired,
}
推荐阅读
- python - beautifulsoup - 过滤锚标签的文本
- r - 将 R 数据框插入 SQL Server
- reactjs - TypeError:e.map 不是部署到 heroku 时反应的函数
- objective-c - 使用 gluUnProject 选择鼠标不起作用
- html - 表格单元格占据 HTML 中的整个页面
- dart - 在 Dart 中连接字符串的最有效方法是什么?
- jupyter-notebook - 如何在 Markdown 单元格 Jupyter Notebook 的左侧显示表格
- wordpress - domPDF 和 ACF 转发器字段
- node.js - git clone 删除我项目中的所有内容
- python - 如何从字符串列表中删除不需要的字符?