CSS 没有反映在 react js 中

Posted

技术标签:

【中文标题】CSS 没有反映在 react js 中【英文标题】:CSS is not refleted in react js 【发布时间】:2019-09-20 22:44:30 【问题描述】:

我正在尝试覆盖 reacstrap 组件以及一些 html 元素。但是 CSS 并没有反映在这些上。这是组件。

const DeleteKpiModal = (isOpen, kpiToDelete, toggle, handleDeleteKpi) => (
    <Modal isOpen=isOpen toggle=() => toggle(null)>
    <ModalBody>
      <h2 className="heading-style">Delete KPI?</h2>
    <p className="delete-content">
    Are you sure you want to delete this?
    Once deleted, the data will be lost and will not be able to be recovered.
    </p>
      </ModalBody>
    <ModalFooter className="display-button">
      <Button className="delete-button" size="md" block onClick=() => handleDeleteKpi(kpiToDelete)>Delete</Button>
      <Button className="cancel-button" color="secondary" size="md" block  onClick=() => toggle(null)>Cancel</Button>
    </ModalFooter>
    <style jsx>styles</style>
  </Modal>
  )

这里是 Css。忘记这里的导入,我正在使用 sass/scss 这样做。

const styles = scss`

  @import "bootstrap-extended/jsx-import";
  $bg-red: #e04c33;

  .delete-button
    background-color: $bg-red;
    color:#fff;
  
  .delete-content
    borderBottom:1px dashed #dce1e5;
    paddingBottom:3rem;
  
  .heading-style
    color: $bg-red;
  
  .cancel-button
    backgroundColor:#fff;
    color:#047adc;
    border:2px solid #047adc;
    marginLeft:0;
  
  .display-button
    display:initial;
    padding-top:0;
  
`

请帮助我在哪里做错了。

【问题讨论】:

可以提供密码箱吗? 这对我来说是不可能的。因为这是一个长代码。虽然我提供的细节从我的角度来说已经足够了。 看,这也是关于重现错误的问题,现在我只能猜测由于 css 的特殊性,类样式不适用。 如果我内联应用它就可以工作 【参考方案1】:

我是这样申请的。我为上层组件创建了一个类并像这样使用它。

<style jsx global>`
$bg-red: #e04c33;

.delete-kpi-modal
  .delete-button
    background-color: $bg-red;
    color:#fff;
  
  .delete-content
    border-bottom:1px dashed #dce1e5;
    padding-bottom:3rem;
  
  .heading-style
    color: $bg-red;
    text-align:center;
  
  .cancel-button
    background-color:#fff;
    color:#047adc;
    border:2px solid #047adc;
    margin-left:0;
  
  .display-button
    display:initial;
    padding-top:0;
  

`
    
    </style>

这行得通

【讨论】:

以上是关于CSS 没有反映在 react js 中的主要内容,如果未能解决你的问题,请参考以下文章

在 Typescript、Webpack、React 项目中使用 css-in-js 时没有重载匹配此调用错误

React JS 中的 CSS 模块不起作用,我已经尝试了所有方法,但没有解决

如何在 React JS 中有条件地应用 CSS 类

react native 项目中 app.js 文件中所做的更改未反映

在 react 和 node.js 应用程序中,styles.css 并未仅应用于一页

React.js:非 CSS 动画