я пытался контролировать значение стилей с помощью реквизита, используя react-jss
однако динамическое значение не работает в запросе!
этот код управляет глобальным фоновым цветом с помощью react-jss. этот код работает отлично. однако измените цвет фона на использование динамического значения в свойствах. не меняйте значение цвета фона.
const styles = {
root: {
backgroundColor: ({ color }) => color
},
"@global": { // with query
body: {
backgroundColor: 'yellow' //working!!
}
}
};
этот код не работает. Я проверил, что лямбда-функция ({ color }) => color
вызывается и значение правильное.
const styles = {
root: {
backgroundColor: ({ color }) => color
},
"@global": { // with query
body: {
backgroundColor: ({ color }) => color // not working
}
}
};
Это полный код с ошибкой.
import React from "react";
import ReactDOM from "react-dom";
import { createUseStyles } from "react-jss";
const styles = {
root: { // with classKey
backgroundColor: ({ color }) => color // working
},
"@global": { // with query
body: {
backgroundColor: ({ globalColor }) => globalColor // not work
}
}
};
const useStyles = createUseStyles(styles);
const App = (props) => {
const classes = useStyles(props);
return <h1 className={classes.root}> Background should be yellow</h1>;
};
ReactDOM.render(<App color="yellow" globalColor='red'/>, document.getElementById("root"));
а вот codeandbox, это не мой аккаунт и код
https://codesandbox.io/s/react-jss-dynamic-global-value-j552b