Я работаю над проектом для школы, где можно создавать элементы HTML с помощью Selection.js (визуальный отбор превращается в элемент HTML). В настоящее время пользователь может писать CSS в редакторе CodeMirror . После того, как пользователь применяет CSS, нажав кнопку, стили непосредственно вставляются в созданные впадины React компонента.
Моя главная цель - позволить пользователю создавать несколько элементов с несколькими правилами стилей, чтобы затем (в конце концов) экспортировать созданные элементы вместе со своими стилями.
Я импортировал JSS из-за функции createStyleSheet
, которая генерирует стили на основе JavaScript-объекта CSS (который поступает из ввода CodeMirror), а также из-за того, что стиль напрямую вводится через реквизит нельзя использовать повторно (потому что он не содержит классов, только свойства). Проблема с 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, но, похоже, нет доступного логического значения для переключения генерации уникального идентификатора.
Есть ли лучший способ достижения моей цели?
Заранее спасибо!