Я работаю над школьным проектом, в котором можно создавать элементы HTML с помощью Selection.js (визуальное выделение превращается в элемент HTML). В настоящее время пользователь может писать CSS в редакторе CodeMirror. После того, как пользователь применит CSS, нажав кнопку, стиль вставляется непосредственно в созданный компонент React через props.
Моя главная цель — позволить пользователю создавать несколько элементов с несколькими правилами стиля, а затем (в конце концов) экспортировать созданные элементы вместе с их стилем.
Я импортировал JSS из-за функции createStyleSheet
, которая создает стили на основе на CSS-объекте JavaScript (который исходит из ввода CodeMirror) и из-за того, что напрямую внедренный стиль через props нельзя использовать повторно (поскольку он не содержит классов, только свойства). Проблема с JSS в том, что он генерирует стили в виде .mySpecialClass-0-1 {...}
Это код, который я использую, когда пользователь применяет стиль (при нажатии).
onStyleInput(e) {
e.preventDefault();
try {
let style= cssToObject(this.codeMirror.getValue(), {camelCase: true});
this.styleSheet = jss.createStyleSheet(style, {link: true}).attach();
console.log(this.styleSheet);
}
catch (exception) {
// console.log("Something went wrong, check your css syntax");
console.log(exception);
}
}
Результатом, который я ожидал от JSS, был стиль в виде .mySpecialClass {...}
без уникальных идентификаторов.
Я просматривал JSS API, но, похоже, нет доступного логического значения для переключения генерации уникального идентификатора.
Есть ли лучший способ достичь моей цели?
Заранее спасибо!