#javascript #css #reactjs
#javascript #css #reactjs
Вопрос:
Я считаю, что это очень просто, но я не могу найти для этого решение. Я не могу наследовать свои классы css в моем файле js.
Это моя функция рендеринга из файла js:
render(){
return(
<div>
<div className='smallSectionWrapper'>
<div className='oneItem'>
<h3>Name</h3>
<p>John</p>
</div>
<div className='oneItem'>
<h3>Middle Name</h3>
<p>Johny</p>
</div>
<div className='oneItem'>
<h3>Surname</h3>
<p>Johnson</p>
</div>
</div>
</div>
)
}
Это мой файл scss:
.oneItem {
width: 300px;
}
.smallSectionWrapper {
display: flex;
flex-direction: row;
justify-content: space-between;
}
Что я ожидаю отобразить:
Что я на самом деле отображаю:
После проверки этого выясняется, что классы наследуются, но без свойств, упомянутых в классе. Я довольно новичок в React, возможно ли, что я пропустил шаг?
Комментарии:
1. Честно говоря, я не вижу никаких проблем! jsfiddle.net/qejx9rwv
2. Как вы импортировали файл scss и где?
3. Я думаю, вам не хватает импорта css в вашем js-файле. импорт «./style.css»;
4. Вы должны импортировать файл SCSS поверх файла javascript.
import './styles.scss'
5. Да, это было так, хотя я не вижу, чтобы другие файлы js в этом проекте импортировали файл css.
Ответ №1:
вам не хватает импорта в файле .js:
import '<<your scss path>>';
Ответ №2:
Предоставленные вами файлы / код, похоже, работают для меня. Возможно, дважды проверьте, что вы не используете другой адаптивный макет внутри вашего консольного представления
что касается стиля: убедитесь, что если вы используете SCSS в своем приложении react, вы:
- установите node-sass (npm i / yarn добавьте node-sass)
- импортируйте файл scss в правильный файл ИЛИ в тот, для которого компонент будет отображаться как дочерний.
т.е.
import React from 'react'
import './App.scss';
const Tester = () => {
return (
<div className='smallSectionWrapper'>
<div className='oneItem'>
<h3>Name</h3>
<p>Carl</p>
</div>
<div className='oneItem'>
<h3>Middle Name</h3>
<p>Johny</p>
</div>
<div className='oneItem'>
<h3>Surname</h3>
<p>Johnson</p>
</div>
</div>
)
}
export default Tester
Также рассмотрите возможность использования вложенных SCSS для специфичности
.smallSectionWrapper {
display: flex;
flex-direction: row;
justify-content: space-between;
.oneItem {
width: 300px;
}
}
Возможно, вы захотите изучить стилизованные компоненты, поскольку это позволит вам написать свой стиль непосредственно в компоненте, что может быть проще для извлечения компонента для повторного использования в будущем.