Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于布尔属性在ReactJS中有条件地应用嵌套的SCSS类?_Javascript_Css_Reactjs_Sass_Jsx - Fatal编程技术网

Javascript 如何基于布尔属性在ReactJS中有条件地应用嵌套的SCSS类?

Javascript 如何基于布尔属性在ReactJS中有条件地应用嵌套的SCSS类?,javascript,css,reactjs,sass,jsx,Javascript,Css,Reactjs,Sass,Jsx,我有一个侧栏导航元素,我正试图根据元素在React中的位置对其应用SCSS样式。这是我目前对从模块导入的CSS类的组合所做的: styles.main, styles[position], isOpen ? styles.opened : styles.closed, SCSS文件中的代码段: .right { top: 0; right: 0; .opened { visibility: visible; } .closed { visibility:

我有一个侧栏导航元素,我正试图根据元素在React中的位置对其应用SCSS样式。这是我目前对从模块导入的CSS类的组合所做的:

styles.main,
styles[position],
isOpen ? styles.opened : styles.closed,
SCSS文件中的代码段:

.right {
  top: 0;
  right: 0;

  .opened {
    visibility: visible;
  }

  .closed {
    visibility: hidden;
  }
}
我正试图找出如何正确应用SCSS样式。元素继承的是
.main
类和
.right
的根选择器(包含
top
right
属性),但不是
right.opened
right.closed
的元素


任何关于我哪里出了问题的帮助或指点都将不胜感激。多谢各位

使用该实用程序,它是当前推荐的在ReactJs中处理条件CSS类名的方法。

使用该实用程序,它是当前推荐的在ReactJs中处理条件CSS类名的方法。

您不必继承样式,而是编写它们。而不是:

.right {
  top: 0;
  right: 0;

  .opened {
    visibility: visible;
  }

  .closed {
    visibility: hidden;
  }
}
你必须做到:

.right {
  top: 0;
  right: 0;

  &__opened {
    visibility: visible;
  }

  &__closed {
    visibility: hidden;
  }
}
然后,您将应用类,如
isOpen?style.right\u打开:style.right\u关闭


您可以进行检查。

您不必继承样式,而是编写它们。而不是:

.right {
  top: 0;
  right: 0;

  .opened {
    visibility: visible;
  }

  .closed {
    visibility: hidden;
  }
}
你必须做到:

.right {
  top: 0;
  right: 0;

  &__opened {
    visibility: visible;
  }

  &__closed {
    visibility: hidden;
  }
}
然后,您将应用类,如
isOpen?style.right\u打开:style.right\u关闭


你可以检查。

知道这一点肯定很好,但我的问题仍然主要是我需要
[position]
元素是动态的,比如:
isOpen?styles.[position]\uuu Open:styles.[position]\uu closed
,这是行不通的。不过,我使用了相同的概念将其应用于我当前在React
.jsx
文件中设置它的方式(例如:
和.opened
和.closed
),效果如预期。非常感谢你的帮助!知道这一点当然很好,但我的问题仍然主要是我需要
[position]
元素是动态的,比如:
isOpen?styles.[position]\uuu Open:styles.[position]\uu closed
,这是行不通的。不过,我使用了相同的概念将其应用于我当前在React
.jsx
文件中设置它的方式(例如:
和.opened
和.closed
),效果如预期。非常感谢你的帮助!我还能做些什么不需要添加额外的包?我还能做些什么不需要添加额外的包?