Вам необходимо переосмыслить архитектуру вашего приложения.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,
}